Skip to content

fix(pydantic-ai-daytona): allow daytona SDK <1 - #102

Merged
mislavivanda merged 1 commit into
mainfrom
fix/pydantic-ai-daytona-sdk-range
Oct 27, 2026
Merged

mislavivanda merged 1 commit into
mainfrom
fix/pydantic-ai-daytona-sdk-range

Conversation

@mislavivanda

@mislavivanda mislavivanda commented Oct 27, 2026 •

Copy link
Copy Markdown
Collaborator

Why

pydantic-ai-daytona pinned the Daytona SDK to a single minor version (daytona>=0.203.0,<0.204.0). For a library that has to run next to other Daytona-dependent packages, that pin is too narrow:

  • It can't be installed in the same environment as Pydantic's native integration, pydantic-ai-harness[daytona], which requires daytona>=0.223.1,<1.
  • It locks users out of every SDK release after 0.203, including fixes this package benefits from.

What changes

daytona>=0.203.0,<0.204.0 → daytona>=0.203.0,<1

  • The floor stays at 0.203.0, the oldest SDK version the test suite has passed on.
  • <1 keeps a future 1.0 (where breaking changes are expected) from installing untested. It has the same shape as pydantic-ai-harness's own pin, so the two ranges overlap.

Verification

With the new range, against the latest SDK (daytona 0.226.1) installed alongside pydantic-ai-harness[daytona] 0.62.0 and pydantic-ai-slim 2.62.0:

  • pip check: no broken requirements
  • ruff and mypy: clean
  • Unit tests: 165 passed
  • Live tests against real Daytona sandboxes: 21 passed, cleanup verified by sandbox id

Trade-off

Before 1.0, a minor SDK release can still change an API. With a wider range, such a break would reach users before this package's CI notices, because CI only runs when the package changes. A scheduled live run would close that gap; it isn't part of this PR.


Summary by cubic

Widens the daytona SDK range in pydantic-ai-daytona from >=0.203.0,<0.204.0 to >=0.203.0,<1 so the package can be installed alongside pydantic-ai-harness[daytona] and pick up later SDK fixes.

  • Keeps the 0.203.0 floor, the oldest SDK version the test suite has passed on.
  • <1 excludes a future 1.0, where breaking changes are expected, and matches pydantic-ai-harness's own range shape.
  • Verified on the latest SDK (0.226.1) with pip check, ruff, mypy, 165 unit tests, and 21 live sandbox tests.

Trade-off

Before 1.0, a minor SDK release can still change an API, and CI only runs when this package changes, so such a break could reach users before this package's CI notices.

Written for commit 75e1dce. Summary will update on new commits.

View guided diff Turn on auto-fix

The single-minor pin (daytona>=0.203.0,<0.204.0) could not be installed
alongside other Daytona SDK users such as pydantic-ai-harness[daytona]
(daytona>=0.223.1,<1) and locked users out of every later SDK release.
Keep the verified floor and allow any SDK below 1.0.

Signed-off-by: Mislav Ivanda <mislavivanda454@gmail.com>
@mislavivanda
mislavivanda deployed to integration-tests October 27, 2026 18:12 — with GitHub Actions Active

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No issues found across 1 file

View guided diff | Turn on auto-fix | Re-trigger cubic

@mislavivanda
mislavivanda merged commit 2995766 into main Oct 27, 2026
41 checks passed
@mislavivanda
mislavivanda deleted the fix/pydantic-ai-daytona-sdk-range branch October 27, 2026 18:19
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 27, 2026

This branch was successfully deployed

1 active deployment
integration-tests — 75e1dceb Deployed Oct 27, 2026 by mislavivanda via pydantic-ai #237
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