Skip to content

Releases: ChocoTonic/renpho-py

v1.3.0 — renpho-py

Choose a tag to compare

@github-actions github-actions released this 24 Oct 01:40

Changes in 1.3.0

  • Fix Renpho login decryption failure and verify request headers (#5) by @ChocoTonic, @aarogozin
  • Document consistent release naming and publishing steps (#6) by @ChocoTonic
  • Bound measurement requests and reject stalled or incomplete pagination (#7) by @ChocoTonic
  • Add validated account login and strict measurement profile collection (#8) by @ChocoTonic
  • Automatically publish releases after validated main changes (#9) by @ChocoTonic
  • Respect the ignored lockfile during automatic releases (#10) by @ChocoTonic

Full comparison

v1.2.1 — renpho-py

Choose a tag to compare

@ChocoTonic ChocoTonic released this 22 Oct 03:47
66bfe23

Security patch release from validated source 66bfe23.

Requires certifi>=2026.10.19 so new installations use the updated CA bundle following the eMudhra certificate-authority compromise. This release also delivers the security dependency updates already merged and tested on main.

Validation: 61 offline tests, Ruff, mypy, source and wheel builds locally; hosted Python 3.10–3.13 test matrix and lint pass on both the release PR and merged main revision.

v1.2.0 — renpho-py

Choose a tag to compare

@ChocoTonic ChocoTonic released this 04 Jul 03:15

Additive release — public API stays a superset of 1.1.0 (guarded by a contract test).

Added

  • Measurement dataclass (from renpho import Measurement) — opt-in typed access over the raw dicts: Measurement.from_dict(m) maps common camelCase keys to snake_case attributes and keeps the full payload on .raw. Client methods still return dicts.
  • renpho.__version__.

Changed (internal, no API change)

  • client.py split into focused modules: exceptions, metrics, and a transport.Transport class. Import surface unchanged.

Tooling

  • CI now runs ruff + mypy alongside the test matrix; make lint/typecheck/check for local parity.

See CHANGELOG.md.

v1.1.0 — renpho-py

Choose a tag to compare

@ChocoTonic ChocoTonic released this 04 Jul 01:16

Hardening of the multi-account feature — all additive, public API unchanged.

Added

  • Concurrent shard discovery via max_workers= on discover_user_tables() / get_all_measurements() (thread-safe; each worker uses its own session). Default stays serial.
  • Discovery caching per user id, with refresh= and a new clear_table_cache().

Changed

  • Probe failures are isolated — a flaky request on one shard (or one extra account) is skipped, not fatal, so data already fetched survives.
  • discover_user_tables() logs in if no token is set.
  • Tighter typing: extra_user_ids: list[str] | None, new UserId alias.

See docs/multi-account.md for the full analysis, and CHANGELOG.md.

v1.0.0 — renpho-py

Choose a tag to compare

@ChocoTonic ChocoTonic released this 04 Jul 00:11

First release of renpho-py, an independently maintained continuation of the abandoned renpho-api (MIT).

Migration

Drop-in — the import name is unchanged:

pip uninstall renpho-api && pip install renpho-py

Your existing from renpho import RenphoClient code keeps working.

Highlights

  • Multiple Renpho accounts on one email — get_all_measurements(extra_user_ids=[...]) probes all sharded measurement tables, merges, and dedupes by record id. New discover_user_tables() helper.
  • Public API is a superset of renpho-api — no removals, no signature breaks.
  • Ships type hints (py.typed, PEP 561).

See CHANGELOG.md for full details.

Unofficial. Not affiliated with or endorsed by Renpho.