Skip to content

fix(rest/python): bound ucp-sdk below 0.5 until the server targets v2026-08-25 - #222

Open
vishkaty wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
vishkaty:fix/pin-ucp-sdk-major
Open

fix(rest/python): bound ucp-sdk below 0.5 until the server targets v2026-08-25#222
vishkaty wants to merge 1 commit into
Universal-Commerce-Protocol:mainfrom
vishkaty:fix/pin-ucp-sdk-major

Conversation

@vishkaty

Copy link
Copy Markdown
Contributor

What

One line: rest/python/server/pyproject.toml declares "ucp-sdk" with no bound; this change bounds it to ">=0.4.6,<0.5" so fresh resolutions stay on the 0.4.x line this server is generated against. The bound lifts when the server migrates to spec v2026-08-25.

Why

The server implements UCP 2026-04-08. ucp-sdk 0.5.0, published 2026-08-27T16:10Z, regenerates the models for spec v2026-08-25 and relocates the payment schemas out of shopping/, so a fresh clone now fails at import time: ModuleNotFoundError for ucp_sdk.models.schemas.shopping.payment_create_request via generated_routes/ucp_routes.py, and test collection stops with 3 errors.

Testing

Fresh clone at main (00333a8):

  • Unbounded, uv sync resolves 0.5.0: import server fails with the ModuleNotFoundError above.
  • With the bound, uv sync resolves 0.4.6: the server imports, all 245 tests collect, and simple_happy_path_client.py completes the full discovery through completion flow against a booted server.
  • Pinned pre-commit on the changed file: all hooks pass.

Fixes #221.

…026-08-25

The server implements UCP 2026-04-08 and declares ucp-sdk with no version
bound, so every fresh uv sync resolves the newest release. ucp-sdk 0.5.0,
published 2026-08-27T16:10Z, regenerates the models for spec v2026-08-25 and
relocates the payment schemas out of shopping/, so a fresh clone now fails
at import: ModuleNotFoundError for
ucp_sdk.models.schemas.shopping.payment_create_request via
generated_routes/ucp_routes.py. Bounding to >=0.4.6,<0.5 keeps fresh
resolutions on the 0.4.x line this server is generated against; the bound
lifts when the server migrates to the new release.
@damaz91 damaz91 added the status:needs-triage Signal that the PR is ready for human triage label Aug 28, 2026
@carolinerg1 carolinerg1 added status:under-review and removed status:needs-triage Signal that the PR is ready for human triage labels Aug 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Fresh sync resolves ucp-sdk 0.5.0 and the Python server fails to import

4 participants