• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

kimata / my-py-lib
61%

Build:
DEFAULT BRANCH: main
Repo Added 28 Dec 2025 02:43AM UTC
Files 92
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH main
branch: main
CHANGE BRANCH
x
Reset
  • main
  • renovate/actions-cache-5.x
  • renovate/actions-cache-digest
  • renovate/actions-checkout-6.x
  • renovate/actions-deploy-pages-5.x
  • renovate/actions-setup-python-6.x
  • renovate/actions-upload-pages-artifact-4.x
  • renovate/actions-upload-pages-artifact-5.x
  • renovate/astral-sh-setup-uv-digest
  • renovate/dorny-test-reporter-3.x
  • renovate/dorny-test-reporter-digest
  • renovate/lock-file-maintenance
  • renovate/major-github-artifact-actions
  • renovate/pin-dependencies
  • v0.2.1
  • v0.2.2

24 May 2026 10:54PM UTC coverage: 60.752% (+0.07%) from 60.687%
26375117422

push

github

kimata
fix: footprint.elapsed が不在/破損時に time.time() を返すバグを修正

elapsed() は失敗時に diff_sec(=time.time()) を初期値のまま返していたため、
liveness ファイルが空や破損していた場合、約56年分の経過秒数として扱われ、
誤った stale 判定や Slack 通知の不正な内容を引き起こしていた。

戻り値型を float | None に変更し、不在・破損時は None を返すように修正。
compare() は None を「無限大に古い」とみなし、healthz.check_liveness_elapsed
は不在=-1/破損=-2 の sentinel を返すように区別。notify.slack.error も
None を「未送信または破損」としてレート制限をスキップするよう対応。

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

14 of 16 new or added lines in 3 files covered. (87.5%)

4037 of 6645 relevant lines covered (60.75%)

0.61 hits per line

Relevant lines Covered
Build:
Build:
6645 RELEVANT LINES 4037 COVERED LINES
0.61 HITS PER LINE
Source Files on main
  • Tree
  • List 92
  • Changed 3
  • Source Changed 3
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
26375117422 main fix: footprint.elapsed が不在/破損時に time.time() を返すバグを修正 elapsed() は失敗時に diff_sec(=time.time()) を初期値のまま返していたため、 liveness ファイルが空や破損していた場合、約56年分の経過秒数として扱われ、 誤った stale 判定や Slack 通知の不正な内容を引き起こしていた。 戻り値型を float | None に変更し、不在・破損時は None を返すように修正。 compare(... push 24 May 2026 10:59PM UTC kimata github
60.75
26348297686 main fix: ERXUDP の payload 抽出位置を末尾基準に変更し side フィールド有無に対応 実機 (BP35A1 ファーム 1.2.10) では ERXUDP 応答が仕様書の 9 フィールド形式 (<sender> <dest> <rport> <lport> <senderlla> <secured> <side> <datalen> <data>) ではなく <side> 省略の 8 フィールド形式で返ってくることを確認。 新リファクタ版で仕様書通り parts[9] ... push 24 May 2026 01:15AM UTC kimata github
60.69
26347753894 main fix: BP35A1.recv_udp のデフォルト timeout を 60 秒に延長 新リファクタ版で recv_udp のデフォルト timeout を 5 秒にしていたが、 旧実装の readline timeout 5s × wait_count 10 = 最大 50 秒に比べて 短すぎた。 メーターの応答が 5 秒以内に来ない場合に None を返してしまい、 echonetenergy.py の get_value で parse_frame(None) を呼んで Val... push 24 May 2026 12:45AM UTC kimata github
60.69
26347514655 main refactor: BP35A1 をイベント駆動アーキテクチャに再構築 連続して 3 つのバグ (継承漏れ・PAN キャッシュ判定・MODE 3 パース) が 発生したのを契機に、 シリアル通信の処理を 3 レイヤに整理した: Layer 0: pyserial (外部) Layer 1: EventParser — 行ストリームを Event オブジェクトに分類 Layer 2: BP35A1Session — コマンド送信 + イベント待機 + 行プッシュバック ... push 24 May 2026 12:32AM UTC kimata github
60.69
26347109168 main fix: BP35A1 の __parse_pan_desc を MODE 3 の応答形式に対応 SKSCAN MODE 3 (active scan with IE) の応答には PairID フィールドが 含まれない場合があり、 EPANDESC ブロック終了後の EVENT 22 行を 読み込んだ際に「行がスペース始まりでない」と Exception を投げて プロセスがクラッシュしていた。 - スペース始まり以外の行が来たら EPANDESC ブロック終端として break -... push 24 May 2026 12:10AM UTC kimata github
59.65
26335103099 main fix: BP35A1 の scan_channel を MODE 3 + duration 上限 9 に強化 メーター側のビーコン送信特性 (周期・強度) が経年で変化した場合、 従来の (MODE 2 + duration 上限 7) では PAN ビーコンを拾えなくなる ことがあった。実機テストで MODE 3 + duration 8 では正常に検出 できることを確認。 - SKSCAN MODE 2 → 3 (active scan with IE。検出率が高い) - dur... push 23 May 2026 02:23PM UTC kimata github
59.66
26332144311 main fix: EchonetEnergy の PAN 情報キャッシュが機能していないバグを修正 scan_channel() は PanDescriptor (dataclass) を返すが、キャッシュ読込時の 判定が `isinstance(pan_info, dict)` のままだったため、isinstance が永遠に False となりキャッシュが一度も使われない状態だった。 - isinstance を PanDescriptor に修正 - 失敗 (None) はキャッシュに書... push 23 May 2026 12:03PM UTC kimata github
59.66
26331413779 main fix: 一部センサーで初回計測失敗時に AttributeError でクラッシュするバグを修正 EchonetEnergy など SensorBase を継承していなかった 7 つのセンサークラスが、 my_lib.sensor.sense() の `sensor.consecutive_fails += 1` を実行する際に AttributeError でプロセスを巻き込んで落ちる問題があった。 合わせてセンサー基底クラスの継承関係を整理: - ADSBase, SM9561,... push 23 May 2026 11:26AM UTC kimata github
59.66
25625302822 main fix: Chrome プロファイルのステルス破損時に自動回復するよう改善 create_driver の連続起動失敗を `{profile}.startup_failures` マーカーで 追跡し、閾値(3 回)以上の連続失敗で健全性チェックを通過していても プロファイルを強制退避するようにした。 健全性チェックは JSON/SQLite の構造破損は検出できるが、Chrome バージョン 非互換等で「健全と判定されるが Chrome は起動失敗する」ステルス破損は 検出できない。実... push 10 May 2026 09:34AM UTC kimata github
59.61
24995161894 main feat: sensor_data.fetch_data に timeout_sec パラメータを追加 InfluxDBClient のデフォルトタイムアウト 10 秒は、ホスト側の 一時的な遅延でアプリのスケジューラループが長時間ブロックされる 原因になるため、呼び出し側で短縮できるように引数化した。 デフォルトは従来通り 10.0 秒で後方互換を維持する。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic... push 27 Apr 2026 12:33PM UTC kimata github
59.65
See All Builds (389)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc