Skip to content

build: require Python 3.10 and pin the turnkey-sdk-types floor - #39

Merged
figitaki merged 1 commit into
mainfrom
carey/sibling-floors
Oct 21, 2026
Merged

figitaki merged 1 commit into
mainfrom
carey/sibling-floors

Conversation

@figitaki

Copy link
Copy Markdown
Contributor

Summary

The fixes from the closed release PR #31 did not reach PyPI. The v2026.10.1 and v2026.10.2 releases were cut from main, and this commit was only on the #31 branch. This PR brings it to main.

Problems on PyPI now

  • turnkey-http 0.2.1 depends on turnkey-sdk-types with no version floor. If 0.1.0 types are already installed, pip keeps them, and import turnkey_http fails with NameError: name 'GetActivePoliciesBody' is not defined. I reproduced this from PyPI.
  • All three packages declare requires-python >=3.8. The generated client uses a type[T] | None annotation, so import turnkey_http raises TypeError on Python 3.9. This is the floor part of Raise the Python floor to 3.10 and modernize packaging #29.

Changes

  • All three packages now require Python 3.10. The 3.8 and 3.9 classifiers are removed.
  • turnkey-http now requires turnkey-sdk-types>=0.2.0 and turnkey-api-key-stamper>=0.1.0.
  • Two patch changesets: one for http and sdk-types, one for api-key-stamper.

The stamper floor is >=0.1.0, not >=0.1.1 as in #31. Stamper 0.1.1 only raises the Python floor, so turnkey-http needs nothing from it. A >=0.1.1 floor also breaks CI, because CI installs the local 0.1.0 stamper in editable mode before the release bumps it.

#35 raises the floor to 3.11. This PR uses 3.10 because CI builds on 3.10 to 3.12. #35 can raise it later.

Tests

  • make format-check and make typecheck pass.
  • The offline tests pass (29).
  • A CI-style editable install (sdk-types, stamper, then http[dev]) resolves and imports.

The release is in the stacked PR.

🤖 Generated with Claude Code

The generated client uses a PEP 604 union that Python 3.9 evaluates at
import time, so import turnkey_http raised TypeError there while the
metadata claimed 3.8 support. The three packages now require 3.10.

turnkey-http now requires turnkey-sdk-types>=0.2.0, so a resolver cannot
pair it with the 0.1.0 types that lack the activity error classes. The
stamper floor is >=0.1.0: 0.1.1 only raises the Python floor, and CI
installs the local stamper before the release bumps it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@figitaki
figitaki merged commit 9e50edb into main Oct 21, 2026
5 checks passed
@figitaki
figitaki deleted the carey/sibling-floors branch October 21, 2026 18:09
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.

2 participants