Repository navigation
Prepare Python SDK 5.0.0-beta.1 release - #120
Merged
Merged
Conversation
- Set python.version to 5.0.0-beta.1 in gen.yaml so the next generation produces a pre-release (pip skips it unless users opt in). - CI: test 3.10/3.11/3.13 instead of 3.9/3.11 (5.x requires >=3.10), scope the concurrency group per PR and Python version, and key the venv cache on poetry.lock (setup.py does not exist). - Remove the stale skip markers on test_hooks.py and test_debug.py; both pass on 3.11. - Add MIGRATION.md covering 3.x -> 5.0 breaking changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
|
- max-parallel: 1 so the three Python jobs don't race on the shared test account (test_rates_at_checkout deletes every service group). - 3.14 comment: the pinned pydantic-core versions will never get 3.14 wheels; 2.35.0 is the first that has them. - MIGRATION.md: lead with pip install "shippo==5.0.0b1"; --pre also pulls pre-release dependencies. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
wyatt-shippo
approved these changes
Oct 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prepares
mainso the next Speakeasy generation publishes 5.0.0b1 as a PyPI pre-release, instead of going straight to 5.0.0.pip install shippoandpip install -U shippokeep installing 3.9.0 until we graduate to 5.0.0..speakeasy/gen.yaml:python.version: 4.0.0→5.0.0-beta.1. 4.0.0 was generated in chore: migrate speakeasy generator to python v2 and update tests #109 but never published.sdk_validation.yaml):3.9, 3.11→3.10, 3.11, 3.13. The regen in chore: 🐝 Update SDK - Generate 5.0.0-beta.1 #113 raisesrequires-pythonto>=3.10, so a 3.9 job can never pass. 3.14 needs apydantic-corebump: the pinned versions will never get 3.14 wheels, and 2.35.0 is the first that has them.max-parallel: 1: all three versions share one test account, andtest_rates_at_checkoutdeletes every service group, so the jobs must not overlap (thanks @wyatt-shippo).poetry.lockinstead ofsetup.py, which does not exist, so the key never changed when dependencies did.@pytest.mark.skipfromtest_hooks.pyandtest_debug.py. All 7 tests pass on 3.11.MIGRATION.md: covers the 3.x → 5.0 breaking changes. I checked every example against the regenerated SDK.Merging this does not publish anything. Publish only triggers on
RELEASES.md, which this PR does not touch.Before merging
mainruleset's required checks. ReplacePython 3.9withPython 3.10, and keepPython 3.11; addingPython 3.13is optional. Until then this PR, and chore: 🐝 Update SDK - Generate 5.0.0-beta.1 #113, cannot satisfy the required checks.After merging
gh workflow run sdk_generation.yaml -R goshippo/shippo-python-sdk -f force=true. chore: 🐝 Update SDK - Generate 5.0.0-beta.1 #113 should regenerate as5.0.0-beta.1and run the new CI matrix.shippo==5.0.0b1.Known issue to fix before 5.0.0 final
service_groups.list,refunds.list,user_parcel_templates.list, andrates_at_checkout.get/delete_default_parcel_templatetake no parameters, but the v2 generator now requiresrequest={}on them; calling them with no arguments raisesTypeError.MIGRATION.mddocuments this as a beta known issue.Testing
pydantic-core2.27.2 in this branch'spoetry.lockhas cp313 wheels.🤖 Generated with Claude Code