From fca27ccdffc20c69442cff5a5286411de5f50a24 Mon Sep 17 00:00:00 2001 From: Mehdi Sabraoui Date: Tue, 20 Oct 2026 20:51:53 +0000 Subject: [PATCH] chore!: require Python >=3.11, test 3.11-3.14 in CI --- .changeset/min-python-3-11.yml | 4 ++++ .github/actions/setup-python/action.yml | 2 +- .github/workflows/python-build.yml | 2 +- .github/workflows/validate-and-publish.yml | 2 +- README.md | 2 +- packages/api-key-stamper/pyproject.toml | 7 +++---- packages/http/README.md | 2 +- packages/http/pyproject.toml | 7 +++---- packages/sdk-types/README.md | 2 +- packages/sdk-types/pyproject.toml | 7 +++---- pyproject.toml | 4 ++-- 11 files changed, 21 insertions(+), 20 deletions(-) create mode 100644 .changeset/min-python-3-11.yml diff --git a/.changeset/min-python-3-11.yml b/.changeset/min-python-3-11.yml new file mode 100644 index 0000000..721aadb --- /dev/null +++ b/.changeset/min-python-3-11.yml @@ -0,0 +1,4 @@ +type: minor +packages: [ http, sdk-types, api-key-stamper ] +changelog: |- + BREAKING: minimum supported Python is now 3.11 (`requires-python = ">=3.11"`). Python 3.8 and 3.10 are end-of-life and 3.9 is unsupported; 3.11 through 3.14 are tested in CI. diff --git a/.github/actions/setup-python/action.yml b/.github/actions/setup-python/action.yml index a6a5b36..882c435 100644 --- a/.github/actions/setup-python/action.yml +++ b/.github/actions/setup-python/action.yml @@ -5,7 +5,7 @@ inputs: python-version: description: "Python version to use" required: false - default: "3.10" + default: "3.11" runs: using: "composite" diff --git a/.github/workflows/python-build.yml b/.github/workflows/python-build.yml index 41e0107..d2b178f 100644 --- a/.github/workflows/python-build.yml +++ b/.github/workflows/python-build.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13", "3.14"] steps: - name: Checkout repository diff --git a/.github/workflows/validate-and-publish.yml b/.github/workflows/validate-and-publish.yml index 7258d5b..a885ac5 100644 --- a/.github/workflows/validate-and-publish.yml +++ b/.github/workflows/validate-and-publish.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.11", "3.12", "3.13", "3.14"] outputs: version: ${{ steps.extract-version.outputs.version }} steps: diff --git a/README.md b/README.md index b00f420..caebeba 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ print(response) ### Prerequisites -- Python 3.8+ +- Python 3.11+ - pip ### Setup diff --git a/packages/api-key-stamper/pyproject.toml b/packages/api-key-stamper/pyproject.toml index 9869d44..04bdb7a 100644 --- a/packages/api-key-stamper/pyproject.toml +++ b/packages/api-key-stamper/pyproject.toml @@ -7,7 +7,7 @@ name = "turnkey-api-key-stamper" version = "0.1.0" description = "API key authentication stamper for Turnkey API" readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.11" license = "Apache-2.0" license-files = ["LICENSE"] authors = [ @@ -18,11 +18,10 @@ classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "cryptography>=41.0.0", diff --git a/packages/http/README.md b/packages/http/README.md index 76bbf7a..bd09b1d 100644 --- a/packages/http/README.md +++ b/packages/http/README.md @@ -111,7 +111,7 @@ http/ ## Dependencies -- Python >= 3.8 +- Python >= 3.11 - requests >= 2.31.0 - turnkey-api-key-stamper - turnkey-sdk-types diff --git a/packages/http/pyproject.toml b/packages/http/pyproject.toml index 03a8d6e..5d2c144 100644 --- a/packages/http/pyproject.toml +++ b/packages/http/pyproject.toml @@ -7,7 +7,7 @@ name = "turnkey-http" version = "0.2.0" description = "HTTP client for Turnkey API" readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.11" license = "Apache-2.0" license-files = ["LICENSE"] authors = [ @@ -17,11 +17,10 @@ keywords = ["turnkey", "api", "http", "client", "sdk"] classifiers = [ "Intended Audience :: Developers", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "requests>=2.31.0", diff --git a/packages/sdk-types/README.md b/packages/sdk-types/README.md index 66b5288..c0866f0 100644 --- a/packages/sdk-types/README.md +++ b/packages/sdk-types/README.md @@ -77,7 +77,7 @@ sdk-types/ ## Requirements -- Python >= 3.8 +- Python >= 3.11 ## Development diff --git a/packages/sdk-types/pyproject.toml b/packages/sdk-types/pyproject.toml index b388fcb..61b00e5 100644 --- a/packages/sdk-types/pyproject.toml +++ b/packages/sdk-types/pyproject.toml @@ -7,7 +7,7 @@ name = "turnkey-sdk-types" version = "0.2.0" description = "Type definitions for Turnkey API" readme = "README.md" -requires-python = ">=3.8" +requires-python = ">=3.11" license = "Apache-2.0" license-files = ["LICENSE"] authors = [ @@ -18,11 +18,10 @@ classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] dependencies = [ "pydantic>=2.0.0", diff --git a/pyproject.toml b/pyproject.toml index c7e1b48..3725603 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta" name = "turnkey-oss" version = "0.1.0" description = "Turnkey Python SDK - monorepo workspace" -requires-python = ">=3.8" +requires-python = ">=3.11" [project.optional-dependencies] dev = [ @@ -22,7 +22,7 @@ dev = [ extend-exclude = ["*.md"] [tool.mypy] -python_version = "3.10" +python_version = "3.11" warn_return_any = false warn_unused_configs = true disallow_untyped_defs = false