Skip to content

chore: move the exact mthds pin to 0.14.0 so pipelex and pipelex-sdk co-install - #25

Merged
lchoquel merged 1 commit into
devfrom
feature/Mthds-014-pin
Sep 7, 2026
Merged

chore: move the exact mthds pin to 0.14.0 so pipelex and pipelex-sdk co-install#25
lchoquel merged 1 commit into
devfrom
feature/Mthds-014-pin

Conversation

@lchoquel

@lchoquel lchoquel commented Sep 7, 2026

Copy link
Copy Markdown
Member

Why

pipelex and pipelex-sdk both pin mthds exactly, so they install together only when they name the same version. pipelex has already moved to mthds==0.14.0 on its dev branch, which left this SDK at 0.13.0 and made the pair unresolvable from source. On PyPI the break is still latent — published pipelex 0.56.0 and pipelex-sdk 0.9.0 both require mthds==0.13.0 — so it arrives the moment a pipelex release carrying the new pin is published. This is the move that keeps the two co-installable, and it reaches consumers at the next pipelex-sdk release.

What changed

The pin, the lock, and a changelog entry — nothing else. No source or test adaptation was needed.

mthds 0.14.0's substantive change is MTHDS_STANDARD_VERSION going from 1.0.0 to 2.0.0, which this SDK never reads: it stamps no crates and ships no manifest. The release's other additions — is_mthds_version_satisfied and the parse_constraint whitespace fix — live in mthds.package.manifest.schema, which nothing here imports. PROTOCOL_VERSION stays at 0.6.0, so the routes and the wire contract are untouched.

The inherited seam is unchanged

This SDK builds on MthdsAPIClient's protected extension surface, so that is the part worth stating explicitly rather than inferring from a three-line diff:

  • Every protected member this client extends is still present: _API_PREFIX, _DEFAULT_REQUEST_TIMEOUT_SECONDS, _post_validate, _raise_if_execute_degraded, _send, _url.
  • The four overrides (execute, start, start_client, validate) still have base counterparts, so the transitional type: ignore[override] suppressions are still load-bearing — none expired.
  • The ruff runtime-evaluated-base-classes dotted paths all still resolve, so the mthds.protocol annotations stay runtime-evaluated.

Every mthds import in this package is under mthds.protocol.* or mthds.runners.api.*, neither of which 0.14.0 touched.

Not breaking for importers, but marked breaking

No symbol was renamed, re-exported, or narrowed, so nothing importing pipelex_sdk has to move. The changelog still marks it breaking, because the pin move narrows what every downstream environment may install.

Checks

make agent-check (pyright 0 errors, mypy clean), make agent-test, plus the two CI gates agent-check omits: make pylint at 10.00/10 and make check-unused-imports. All green, with no test fixture edits.

Closes L-260906-d7e27c

🤖 Generated with Claude Code

https://claude.ai/code/session_01DuEKzDiMDWrABBibqwdFTt


Summary by cubic

Moves the exact mthds pin from 0.13.0 to 0.14.0 so pipelex and pipelex-sdk co-install again.

  • Only the pin, lockfile, and a changelog entry changed; no source or test edits.
  • MTHDS_STANDARD_VERSION bump and other 0.14.0 additions are unused here; PROTOCOL_VERSION remains 0.6.0.
  • The changelog marks this breaking because the pin narrows installable versions.

Closes L-260906-d7e27c.

Written for commit 8075a9b. Summary will update on new commits.

Review in cubic

…co-install

Both packages pin `mthds` exactly, so they resolve together only when they name
the same version. `pipelex` moved to `mthds==0.14.0` on its `dev` branch, which
left this SDK at `0.13.0` and made the pair unresolvable from source; on PyPI the
break arrives with the next `pipelex` release.

Nothing in this client needed adapting. The release's substantive change is
`MTHDS_STANDARD_VERSION` going from 1.0.0 to 2.0.0, which this SDK never reads —
it stamps no crates and ships no manifest — and the new `is_mthds_version_satisfied`
helper and the `parse_constraint` whitespace fix land in
`mthds.package.manifest.schema`, which nothing here imports. `PROTOCOL_VERSION`
stays at 0.6.0, so the routes and the wire contract are untouched.

The inherited seam is unchanged: every protected member this client extends is
still present, the four overrides still have base counterparts, and the ruff
`runtime-evaluated-base-classes` dotted paths all still resolve.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DuEKzDiMDWrABBibqwdFTt
@lchoquel
lchoquel merged commit dc8a21f into dev Sep 7, 2026
18 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Sep 7, 2026
@lchoquel
lchoquel deleted the feature/Mthds-014-pin branch September 7, 2026 08:54
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant