Skip to content

chore(bindings): move the Python bindings onto the 9.0.0 wave - #818

Merged
fishloa merged 1 commit into
mainfrom
chore/bindings-bc9
Jul 29, 2026
Merged

fishloa merged 1 commit into
mainfrom
chore/bindings-bc9

Conversation

@fishloa

@fishloa fishloa commented Jul 29, 2026

Copy link
Copy Markdown
Owner

Post-publish follow-up, held deliberately until the wave was live since both bindings consume from the registry rather than by path.

  • bindings/python: dvb-si and dvb-t2mi 89. Builds clean with no code change.
  • bindings/transmux-py: transmux 0.150.20, plus its own broadcast-common 89.

The broadcast-common pin was the interesting part. use broadcast_common::Parse was already imported, but pinning 8 while transmux 0.20 implements the 9.x trait meant AudioSpecificConfig::parse resolved against the wrong trait and was reported as "not found" — the same two-versions-in-one-graph shape that broke the first v9.0.0 publish run on dvb-si. Worth recognising on sight: a "method not found" on a type that plainly has it usually means two versions of the defining trait are in the graph, not a missing import.

Five minors of transmux drift also needed two accessor updates: 0.20 moved the sync flag onto SampleFlags, and made the composition offset a derived accessor computed from pts/dts rather than a stored field.

Both crates cargo check clean. Neither is a workspace member — each has its own MSRV and PyPI lane — so they are not covered by the workspace gates and had to be checked directly.

🤖 Generated with Claude Code

https://claude.ai/code/session_01W1HSZPAJUzGhu8BKkqemmX

Held back deliberately until the wave was live, since both consume from the
registry rather than by path.

- bindings/python: dvb-si and dvb-t2mi 8 -> 9. Builds clean with no code
  change.
- bindings/transmux-py: transmux 0.15 -> 0.20, and its own broadcast-common
  8 -> 9. The broadcast-common pin was the interesting one: `Parse` was
  already imported, but pinning 8 while transmux 0.20 implements the 9.x
  trait meant `AudioSpecificConfig::parse` resolved against the wrong trait
  and was reported as not found -- the same two-versions-in-one-graph shape
  that broke the first v9.0.0 publish run.
- Five minors of transmux drift needed two accessor updates: 0.20 moved the
  sync flag onto `SampleFlags` and made the composition offset a derived
  accessor computed from pts/dts rather than a stored field.

Both crates `cargo check` clean. Neither is a workspace member (each has its
own MSRV and PyPI lane), so they are not covered by the workspace gates.
@fishloa
fishloa merged commit 8854145 into main Jul 29, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant