From 11ed859848d04514d92b65b8351388560f0e69fe Mon Sep 17 00:00:00 2001 From: Bernardo Gomes Date: Sun, 18 Oct 2026 21:32:26 -0300 Subject: [PATCH 1/7] Add support to python 3.15 --- .github/workflows/samples-python-client-echo-api.yaml | 3 ++- .../samples-python-client-legacy-model-dictionaries.yaml | 1 + .github/workflows/samples-python-petstore.yaml | 1 + .../workflows/samples-python-pydantic-v1-client-echo-api.yaml | 3 ++- .github/workflows/samples-python-pydantic-v1-petstore.yaml | 1 + .../src/main/resources/python/github-workflow.mustache | 2 +- .../src/main/resources/python/gitlab-ci.mustache | 3 +++ .../src/main/resources/python/travis.mustache | 1 + .../.github/workflows/python.yml | 2 +- .../.gitlab-ci.yml | 3 +++ .../.travis.yml | 1 + samples/client/echo_api/python/.github/workflows/python.yml | 2 +- samples/client/echo_api/python/.gitlab-ci.yml | 3 +++ samples/client/echo_api/python/.travis.yml | 1 + .../.github/workflows/python.yml | 2 +- .../others/python-legacy-model-dictionaries/.gitlab-ci.yml | 3 +++ .../client/others/python-legacy-model-dictionaries/.travis.yml | 1 + .../petstore/python-aiohttp/.github/workflows/python.yml | 2 +- samples/openapi3/client/petstore/python-aiohttp/.gitlab-ci.yml | 3 +++ samples/openapi3/client/petstore/python-aiohttp/.travis.yml | 1 + .../petstore/python-httpx-sync/.github/workflows/python.yml | 2 +- .../openapi3/client/petstore/python-httpx-sync/.gitlab-ci.yml | 3 +++ samples/openapi3/client/petstore/python-httpx-sync/.travis.yml | 1 + .../client/petstore/python-httpx/.github/workflows/python.yml | 2 +- samples/openapi3/client/petstore/python-httpx/.gitlab-ci.yml | 3 +++ samples/openapi3/client/petstore/python-httpx/.travis.yml | 1 + .../petstore/python-httpx2-sync/.github/workflows/python.yml | 2 +- .../openapi3/client/petstore/python-httpx2-sync/.gitlab-ci.yml | 3 +++ .../openapi3/client/petstore/python-httpx2-sync/.travis.yml | 1 + .../client/petstore/python-httpx2/.github/workflows/python.yml | 2 +- samples/openapi3/client/petstore/python-httpx2/.gitlab-ci.yml | 3 +++ samples/openapi3/client/petstore/python-httpx2/.travis.yml | 1 + .../petstore/python-lazyImports/.github/workflows/python.yml | 2 +- .../openapi3/client/petstore/python-lazyImports/.gitlab-ci.yml | 3 +++ .../openapi3/client/petstore/python-lazyImports/.travis.yml | 1 + .../client/petstore/python/.github/workflows/python.yml | 2 +- samples/openapi3/client/petstore/python/.gitlab-ci.yml | 3 +++ samples/openapi3/client/petstore/python/.travis.yml | 1 + 38 files changed, 62 insertions(+), 13 deletions(-) diff --git a/.github/workflows/samples-python-client-echo-api.yaml b/.github/workflows/samples-python-client-echo-api.yaml index 8b1622881ffa..4c59ff6aa336 100644 --- a/.github/workflows/samples-python-client-echo-api.yaml +++ b/.github/workflows/samples-python-client-echo-api.yaml @@ -23,6 +23,7 @@ jobs: - "3.12" - "3.13" - "3.14" + - "3.15" steps: - uses: actions/checkout@v7 - uses: actions/setup-python@v7 @@ -34,7 +35,7 @@ jobs: run: | git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server (cd http-echo-server && npm install && npm start &) - - name: Install + - name: Install working-directory: ${{ matrix.sample }} run: | pip install -r requirements.txt diff --git a/.github/workflows/samples-python-client-legacy-model-dictionaries.yaml b/.github/workflows/samples-python-client-legacy-model-dictionaries.yaml index e9c6acc8888a..064026f90d58 100644 --- a/.github/workflows/samples-python-client-legacy-model-dictionaries.yaml +++ b/.github/workflows/samples-python-client-legacy-model-dictionaries.yaml @@ -19,6 +19,7 @@ jobs: - "3.12" - "3.13" - "3.14" + - "3.15" steps: - uses: actions/checkout@v7 - uses: actions/setup-python@v7 diff --git a/.github/workflows/samples-python-petstore.yaml b/.github/workflows/samples-python-petstore.yaml index 6f2678efd6e9..73dc30d75366 100644 --- a/.github/workflows/samples-python-petstore.yaml +++ b/.github/workflows/samples-python-petstore.yaml @@ -37,6 +37,7 @@ jobs: - "3.12" - "3.13" - "3.14" + - "3.15" sample: - samples/openapi3/client/petstore/python-aiohttp - samples/openapi3/client/petstore/python-httpx2 diff --git a/.github/workflows/samples-python-pydantic-v1-client-echo-api.yaml b/.github/workflows/samples-python-pydantic-v1-client-echo-api.yaml index fcdfab673f79..96cc763f99ad 100644 --- a/.github/workflows/samples-python-pydantic-v1-client-echo-api.yaml +++ b/.github/workflows/samples-python-pydantic-v1-client-echo-api.yaml @@ -22,6 +22,7 @@ jobs: - "3.12" - "3.13" #- "3.14" + #- "3.15" steps: - uses: actions/checkout@v7 - uses: actions/setup-python@v7 @@ -33,7 +34,7 @@ jobs: run: | git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server (cd http-echo-server && npm install && npm start &) - - name: Install + - name: Install working-directory: ${{ matrix.sample }} run: | pip install -r requirements.txt diff --git a/.github/workflows/samples-python-pydantic-v1-petstore.yaml b/.github/workflows/samples-python-pydantic-v1-petstore.yaml index 2980de678d92..1d74a46b1f93 100644 --- a/.github/workflows/samples-python-pydantic-v1-petstore.yaml +++ b/.github/workflows/samples-python-pydantic-v1-petstore.yaml @@ -20,6 +20,7 @@ jobs: - "3.12" - "3.13" - "3.14" + - "3.15" sample: - samples/openapi3/client/petstore/python-pydantic-v1-aiohttp - samples/openapi3/client/petstore/python-pydantic-v1 diff --git a/modules/openapi-generator/src/main/resources/python/github-workflow.mustache b/modules/openapi-generator/src/main/resources/python/github-workflow.mustache index f6f72ae69958..f99648fe6eec 100644 --- a/modules/openapi-generator/src/main/resources/python/github-workflow.mustache +++ b/modules/openapi-generator/src/main/resources/python/github-workflow.mustache @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/modules/openapi-generator/src/main/resources/python/gitlab-ci.mustache b/modules/openapi-generator/src/main/resources/python/gitlab-ci.mustache index 701ffbfd7e8a..45c976bd791e 100644 --- a/modules/openapi-generator/src/main/resources/python/gitlab-ci.mustache +++ b/modules/openapi-generator/src/main/resources/python/gitlab-ci.mustache @@ -29,3 +29,6 @@ pytest-3.13: pytest-3.14: extends: .pytest image: python:3.14-alpine +pytest-3.15: + extends: .pytest + image: python:3.15-alpine diff --git a/modules/openapi-generator/src/main/resources/python/travis.mustache b/modules/openapi-generator/src/main/resources/python/travis.mustache index 983251a4640b..c236d322bf22 100644 --- a/modules/openapi-generator/src/main/resources/python/travis.mustache +++ b/modules/openapi-generator/src/main/resources/python/travis.mustache @@ -6,6 +6,7 @@ python: - "3.12" - "3.13" - "3.14" + - "3.15" # uncomment the following if needed #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml index b17065bfa1d4..a0cf208ec8b5 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.gitlab-ci.yml b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.gitlab-ci.yml index 4c036842aee1..564d7416bbbb 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.gitlab-ci.yml +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.gitlab-ci.yml @@ -29,3 +29,6 @@ pytest-3.13: pytest-3.14: extends: .pytest image: python:3.14-alpine +pytest-3.15: + extends: .pytest + image: python:3.15-alpine diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.travis.yml b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.travis.yml index a58e1c9adaf6..ef719723eb0d 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.travis.yml +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.travis.yml @@ -6,6 +6,7 @@ python: - "3.12" - "3.13" - "3.14" + - "3.15" # uncomment the following if needed #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build diff --git a/samples/client/echo_api/python/.github/workflows/python.yml b/samples/client/echo_api/python/.github/workflows/python.yml index b17065bfa1d4..a0cf208ec8b5 100644 --- a/samples/client/echo_api/python/.github/workflows/python.yml +++ b/samples/client/echo_api/python/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/client/echo_api/python/.gitlab-ci.yml b/samples/client/echo_api/python/.gitlab-ci.yml index 4c036842aee1..564d7416bbbb 100644 --- a/samples/client/echo_api/python/.gitlab-ci.yml +++ b/samples/client/echo_api/python/.gitlab-ci.yml @@ -29,3 +29,6 @@ pytest-3.13: pytest-3.14: extends: .pytest image: python:3.14-alpine +pytest-3.15: + extends: .pytest + image: python:3.15-alpine diff --git a/samples/client/echo_api/python/.travis.yml b/samples/client/echo_api/python/.travis.yml index a58e1c9adaf6..ef719723eb0d 100644 --- a/samples/client/echo_api/python/.travis.yml +++ b/samples/client/echo_api/python/.travis.yml @@ -6,6 +6,7 @@ python: - "3.12" - "3.13" - "3.14" + - "3.15" # uncomment the following if needed #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build diff --git a/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml b/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml index b4a39b34607b..5bfcc9d802df 100644 --- a/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml +++ b/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/client/others/python-legacy-model-dictionaries/.gitlab-ci.yml b/samples/client/others/python-legacy-model-dictionaries/.gitlab-ci.yml index 547b0fd99b87..84413b5e8b91 100644 --- a/samples/client/others/python-legacy-model-dictionaries/.gitlab-ci.yml +++ b/samples/client/others/python-legacy-model-dictionaries/.gitlab-ci.yml @@ -29,3 +29,6 @@ pytest-3.13: pytest-3.14: extends: .pytest image: python:3.14-alpine +pytest-3.15: + extends: .pytest + image: python:3.15-alpine diff --git a/samples/client/others/python-legacy-model-dictionaries/.travis.yml b/samples/client/others/python-legacy-model-dictionaries/.travis.yml index 1e3bffd3b917..12309a614799 100644 --- a/samples/client/others/python-legacy-model-dictionaries/.travis.yml +++ b/samples/client/others/python-legacy-model-dictionaries/.travis.yml @@ -6,6 +6,7 @@ python: - "3.12" - "3.13" - "3.14" + - "3.15" # uncomment the following if needed #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build diff --git a/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml index da1eaf6fe1d7..20c4eae353fb 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-aiohttp/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-aiohttp/.gitlab-ci.yml index 89cc724c729c..ed57a8f29294 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-aiohttp/.gitlab-ci.yml @@ -29,3 +29,6 @@ pytest-3.13: pytest-3.14: extends: .pytest image: python:3.14-alpine +pytest-3.15: + extends: .pytest + image: python:3.15-alpine diff --git a/samples/openapi3/client/petstore/python-aiohttp/.travis.yml b/samples/openapi3/client/petstore/python-aiohttp/.travis.yml index 1197382a3ed8..58b0a87885b9 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/.travis.yml +++ b/samples/openapi3/client/petstore/python-aiohttp/.travis.yml @@ -6,6 +6,7 @@ python: - "3.12" - "3.13" - "3.14" + - "3.15" # uncomment the following if needed #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build diff --git a/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml index da1eaf6fe1d7..20c4eae353fb 100644 --- a/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-httpx-sync/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-httpx-sync/.gitlab-ci.yml index 89cc724c729c..ed57a8f29294 100644 --- a/samples/openapi3/client/petstore/python-httpx-sync/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-httpx-sync/.gitlab-ci.yml @@ -29,3 +29,6 @@ pytest-3.13: pytest-3.14: extends: .pytest image: python:3.14-alpine +pytest-3.15: + extends: .pytest + image: python:3.15-alpine diff --git a/samples/openapi3/client/petstore/python-httpx-sync/.travis.yml b/samples/openapi3/client/petstore/python-httpx-sync/.travis.yml index 1197382a3ed8..58b0a87885b9 100644 --- a/samples/openapi3/client/petstore/python-httpx-sync/.travis.yml +++ b/samples/openapi3/client/petstore/python-httpx-sync/.travis.yml @@ -6,6 +6,7 @@ python: - "3.12" - "3.13" - "3.14" + - "3.15" # uncomment the following if needed #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build diff --git a/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml index da1eaf6fe1d7..20c4eae353fb 100644 --- a/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-httpx/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-httpx/.gitlab-ci.yml index 89cc724c729c..ed57a8f29294 100644 --- a/samples/openapi3/client/petstore/python-httpx/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-httpx/.gitlab-ci.yml @@ -29,3 +29,6 @@ pytest-3.13: pytest-3.14: extends: .pytest image: python:3.14-alpine +pytest-3.15: + extends: .pytest + image: python:3.15-alpine diff --git a/samples/openapi3/client/petstore/python-httpx/.travis.yml b/samples/openapi3/client/petstore/python-httpx/.travis.yml index 1197382a3ed8..58b0a87885b9 100644 --- a/samples/openapi3/client/petstore/python-httpx/.travis.yml +++ b/samples/openapi3/client/petstore/python-httpx/.travis.yml @@ -6,6 +6,7 @@ python: - "3.12" - "3.13" - "3.14" + - "3.15" # uncomment the following if needed #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build diff --git a/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml index da1eaf6fe1d7..20c4eae353fb 100644 --- a/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-httpx2-sync/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-httpx2-sync/.gitlab-ci.yml index 89cc724c729c..ed57a8f29294 100644 --- a/samples/openapi3/client/petstore/python-httpx2-sync/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-httpx2-sync/.gitlab-ci.yml @@ -29,3 +29,6 @@ pytest-3.13: pytest-3.14: extends: .pytest image: python:3.14-alpine +pytest-3.15: + extends: .pytest + image: python:3.15-alpine diff --git a/samples/openapi3/client/petstore/python-httpx2-sync/.travis.yml b/samples/openapi3/client/petstore/python-httpx2-sync/.travis.yml index 1197382a3ed8..58b0a87885b9 100644 --- a/samples/openapi3/client/petstore/python-httpx2-sync/.travis.yml +++ b/samples/openapi3/client/petstore/python-httpx2-sync/.travis.yml @@ -6,6 +6,7 @@ python: - "3.12" - "3.13" - "3.14" + - "3.15" # uncomment the following if needed #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build diff --git a/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml index da1eaf6fe1d7..20c4eae353fb 100644 --- a/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-httpx2/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-httpx2/.gitlab-ci.yml index 89cc724c729c..ed57a8f29294 100644 --- a/samples/openapi3/client/petstore/python-httpx2/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-httpx2/.gitlab-ci.yml @@ -29,3 +29,6 @@ pytest-3.13: pytest-3.14: extends: .pytest image: python:3.14-alpine +pytest-3.15: + extends: .pytest + image: python:3.15-alpine diff --git a/samples/openapi3/client/petstore/python-httpx2/.travis.yml b/samples/openapi3/client/petstore/python-httpx2/.travis.yml index 1197382a3ed8..58b0a87885b9 100644 --- a/samples/openapi3/client/petstore/python-httpx2/.travis.yml +++ b/samples/openapi3/client/petstore/python-httpx2/.travis.yml @@ -6,6 +6,7 @@ python: - "3.12" - "3.13" - "3.14" + - "3.15" # uncomment the following if needed #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build diff --git a/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml index da1eaf6fe1d7..20c4eae353fb 100644 --- a/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-lazyImports/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-lazyImports/.gitlab-ci.yml index 89cc724c729c..ed57a8f29294 100644 --- a/samples/openapi3/client/petstore/python-lazyImports/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-lazyImports/.gitlab-ci.yml @@ -29,3 +29,6 @@ pytest-3.13: pytest-3.14: extends: .pytest image: python:3.14-alpine +pytest-3.15: + extends: .pytest + image: python:3.15-alpine diff --git a/samples/openapi3/client/petstore/python-lazyImports/.travis.yml b/samples/openapi3/client/petstore/python-lazyImports/.travis.yml index 1197382a3ed8..58b0a87885b9 100644 --- a/samples/openapi3/client/petstore/python-lazyImports/.travis.yml +++ b/samples/openapi3/client/petstore/python-lazyImports/.travis.yml @@ -6,6 +6,7 @@ python: - "3.12" - "3.13" - "3.14" + - "3.15" # uncomment the following if needed #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build diff --git a/samples/openapi3/client/petstore/python/.github/workflows/python.yml b/samples/openapi3/client/petstore/python/.github/workflows/python.yml index da1eaf6fe1d7..20c4eae353fb 100644 --- a/samples/openapi3/client/petstore/python/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] + python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python/.gitlab-ci.yml b/samples/openapi3/client/petstore/python/.gitlab-ci.yml index 89cc724c729c..ed57a8f29294 100755 --- a/samples/openapi3/client/petstore/python/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python/.gitlab-ci.yml @@ -29,3 +29,6 @@ pytest-3.13: pytest-3.14: extends: .pytest image: python:3.14-alpine +pytest-3.15: + extends: .pytest + image: python:3.15-alpine diff --git a/samples/openapi3/client/petstore/python/.travis.yml b/samples/openapi3/client/petstore/python/.travis.yml index 1197382a3ed8..58b0a87885b9 100755 --- a/samples/openapi3/client/petstore/python/.travis.yml +++ b/samples/openapi3/client/petstore/python/.travis.yml @@ -6,6 +6,7 @@ python: - "3.12" - "3.13" - "3.14" + - "3.15" # uncomment the following if needed #- "3.14-dev" # 3.14 development branch #- "nightly" # nightly build From 4a492662690dbe40cb2789894e313fdec3b952ee Mon Sep 17 00:00:00 2001 From: Bernardo Gomes Date: Sun, 18 Oct 2026 21:58:50 -0300 Subject: [PATCH 2/7] fix break change at pycryptodome --- .../python-pydantic-v1/tests/test_http_signature.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_http_signature.py b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_http_signature.py index 569ae0ce4973..ec8d000df551 100644 --- a/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_http_signature.py +++ b/samples/openapi3/client/petstore/python-pydantic-v1/tests/test_http_signature.py @@ -228,8 +228,9 @@ def setUpFiles(cls): if not os.path.exists(cls.rsa4096_key_path): key = RSA.generate(4096) private_key = key.export_key( + format='PEM', passphrase=cls.private_key_passphrase, - protection='PEM' + pkcs=1 ) with open(cls.rsa4096_key_path, "wb") as f: f.write(private_key) @@ -451,14 +452,16 @@ def test_invalid_configuration(self): 'Exception message: {0}'.format(str(cm.exception))) # Private key passphrase is missing but key is encrypted. - with self.assertRaises(Exception) as cm: + with self.assertRaisesRegex( + ValueError, + r'Not a valid clear PKCS#8 structure|' + r'The private key is encrypted: a passphrase is required' + ): signing_cfg = signing.HttpSigningConfiguration( key_id="my-key-id", signing_scheme=signing.SCHEME_HS2019, private_key_path=self.ec_p521_key_path, ) - self.assertTrue(re.match('Not a valid clear PKCS#8 structure', str(cm.exception)), - 'Exception message: {0}'.format(str(cm.exception))) # File containing private key must exist. with self.assertRaises(Exception) as cm: From e34d325251c85c445dc9feae70f70d9bbb2d9712 Mon Sep 17 00:00:00 2001 From: Bernardo Gomes Date: Sun, 18 Oct 2026 22:05:57 -0300 Subject: [PATCH 3/7] fix break change at pycryptodome --- .../python-lazyImports/tests/test_http_signature.py | 11 +++++++---- .../petstore/python/tests/test_http_signature.py | 11 +++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/samples/openapi3/client/petstore/python-lazyImports/tests/test_http_signature.py b/samples/openapi3/client/petstore/python-lazyImports/tests/test_http_signature.py index 1d5f05abb462..3fa65ada8d23 100644 --- a/samples/openapi3/client/petstore/python-lazyImports/tests/test_http_signature.py +++ b/samples/openapi3/client/petstore/python-lazyImports/tests/test_http_signature.py @@ -254,8 +254,9 @@ def setUpFiles(cls): if not os.path.exists(cls.rsa4096_key_path): key = RSA.generate(4096) private_key = key.export_key( + format='PEM', passphrase=cls.private_key_passphrase, - protection='PEM' + pkcs=1 ) with open(cls.rsa4096_key_path, "wb") as f: f.write(private_key) @@ -481,14 +482,16 @@ def test_invalid_configuration(self): 'Exception message: {0}'.format(str(cm.exception))) # Private key passphrase is missing but key is encrypted. - with self.assertRaises(Exception) as cm: + with self.assertRaisesRegex( + ValueError, + r'Not a valid clear PKCS#8 structure|' + r'The private key is encrypted: a passphrase is required' + ): signing_cfg = signing.HttpSigningConfiguration( key_id="my-key-id", signing_scheme=signing.SCHEME_HS2019, private_key_path=self.ec_p521_key_path, ) - self.assertTrue(re.match('Not a valid clear PKCS#8 structure', str(cm.exception)), - 'Exception message: {0}'.format(str(cm.exception))) # File containing private key must exist. with self.assertRaises(Exception) as cm: diff --git a/samples/openapi3/client/petstore/python/tests/test_http_signature.py b/samples/openapi3/client/petstore/python/tests/test_http_signature.py index 1d5f05abb462..64e5278814fa 100644 --- a/samples/openapi3/client/petstore/python/tests/test_http_signature.py +++ b/samples/openapi3/client/petstore/python/tests/test_http_signature.py @@ -254,8 +254,9 @@ def setUpFiles(cls): if not os.path.exists(cls.rsa4096_key_path): key = RSA.generate(4096) private_key = key.export_key( + format='PEM' passphrase=cls.private_key_passphrase, - protection='PEM' + pkcs=1 ) with open(cls.rsa4096_key_path, "wb") as f: f.write(private_key) @@ -481,14 +482,16 @@ def test_invalid_configuration(self): 'Exception message: {0}'.format(str(cm.exception))) # Private key passphrase is missing but key is encrypted. - with self.assertRaises(Exception) as cm: + with self.assertRaisesRegex( + ValueError, + r'Not a valid clear PKCS#8 structure|' + r'The private key is encrypted: a passphrase is required' + ): signing_cfg = signing.HttpSigningConfiguration( key_id="my-key-id", signing_scheme=signing.SCHEME_HS2019, private_key_path=self.ec_p521_key_path, ) - self.assertTrue(re.match('Not a valid clear PKCS#8 structure', str(cm.exception)), - 'Exception message: {0}'.format(str(cm.exception))) # File containing private key must exist. with self.assertRaises(Exception) as cm: From 41991c6ac14ce69e7314d4cf27def16b8865eed2 Mon Sep 17 00:00:00 2001 From: Bernardo Gomes Date: Sun, 18 Oct 2026 22:12:04 -0300 Subject: [PATCH 4/7] add missed , --- .../client/petstore/python/tests/test_http_signature.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/samples/openapi3/client/petstore/python/tests/test_http_signature.py b/samples/openapi3/client/petstore/python/tests/test_http_signature.py index 64e5278814fa..3fa65ada8d23 100644 --- a/samples/openapi3/client/petstore/python/tests/test_http_signature.py +++ b/samples/openapi3/client/petstore/python/tests/test_http_signature.py @@ -254,7 +254,7 @@ def setUpFiles(cls): if not os.path.exists(cls.rsa4096_key_path): key = RSA.generate(4096) private_key = key.export_key( - format='PEM' + format='PEM', passphrase=cls.private_key_passphrase, pkcs=1 ) From 3d5d5d2bae812e08379f63a01c4e27061916bc1d Mon Sep 17 00:00:00 2001 From: Bernardo Gomes Date: Sun, 18 Oct 2026 22:20:47 -0300 Subject: [PATCH 5/7] remove 3.10 python --- .../src/main/resources/python/github-workflow.mustache | 2 +- .../src/main/resources/python/gitlab-ci.mustache | 3 --- .../src/main/resources/python/travis.mustache | 1 - .../.github/workflows/python.yml | 2 +- .../.gitlab-ci.yml | 3 --- .../.travis.yml | 1 - samples/client/echo_api/python/.github/workflows/python.yml | 2 +- samples/client/echo_api/python/.gitlab-ci.yml | 3 --- samples/client/echo_api/python/.travis.yml | 1 - .../.github/workflows/python.yml | 2 +- .../others/python-legacy-model-dictionaries/.gitlab-ci.yml | 3 --- .../client/others/python-legacy-model-dictionaries/.travis.yml | 1 - .../petstore/python-aiohttp/.github/workflows/python.yml | 2 +- samples/openapi3/client/petstore/python-aiohttp/.gitlab-ci.yml | 3 --- samples/openapi3/client/petstore/python-aiohttp/.travis.yml | 1 - .../petstore/python-httpx-sync/.github/workflows/python.yml | 2 +- .../openapi3/client/petstore/python-httpx-sync/.gitlab-ci.yml | 3 --- samples/openapi3/client/petstore/python-httpx-sync/.travis.yml | 1 - .../client/petstore/python-httpx/.github/workflows/python.yml | 2 +- samples/openapi3/client/petstore/python-httpx/.gitlab-ci.yml | 3 --- samples/openapi3/client/petstore/python-httpx/.travis.yml | 1 - .../petstore/python-httpx2-sync/.github/workflows/python.yml | 2 +- .../openapi3/client/petstore/python-httpx2-sync/.gitlab-ci.yml | 3 --- .../openapi3/client/petstore/python-httpx2-sync/.travis.yml | 1 - .../client/petstore/python-httpx2/.github/workflows/python.yml | 2 +- samples/openapi3/client/petstore/python-httpx2/.gitlab-ci.yml | 3 --- samples/openapi3/client/petstore/python-httpx2/.travis.yml | 1 - .../petstore/python-lazyImports/.github/workflows/python.yml | 2 +- .../openapi3/client/petstore/python-lazyImports/.gitlab-ci.yml | 3 --- .../openapi3/client/petstore/python-lazyImports/.travis.yml | 1 - .../client/petstore/python/.github/workflows/python.yml | 2 +- samples/openapi3/client/petstore/python/.gitlab-ci.yml | 3 --- samples/openapi3/client/petstore/python/.travis.yml | 1 - 33 files changed, 11 insertions(+), 55 deletions(-) diff --git a/modules/openapi-generator/src/main/resources/python/github-workflow.mustache b/modules/openapi-generator/src/main/resources/python/github-workflow.mustache index f99648fe6eec..2a39a0294ff1 100644 --- a/modules/openapi-generator/src/main/resources/python/github-workflow.mustache +++ b/modules/openapi-generator/src/main/resources/python/github-workflow.mustache @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/modules/openapi-generator/src/main/resources/python/gitlab-ci.mustache b/modules/openapi-generator/src/main/resources/python/gitlab-ci.mustache index 45c976bd791e..b9e2fde25088 100644 --- a/modules/openapi-generator/src/main/resources/python/gitlab-ci.mustache +++ b/modules/openapi-generator/src/main/resources/python/gitlab-ci.mustache @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov={{{packageName}}} -pytest-3.10: - extends: .pytest - image: python:3.10-alpine pytest-3.11: extends: .pytest image: python:3.11-alpine diff --git a/modules/openapi-generator/src/main/resources/python/travis.mustache b/modules/openapi-generator/src/main/resources/python/travis.mustache index c236d322bf22..401fbf7dcc46 100644 --- a/modules/openapi-generator/src/main/resources/python/travis.mustache +++ b/modules/openapi-generator/src/main/resources/python/travis.mustache @@ -1,7 +1,6 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml index a0cf208ec8b5..155511037cb0 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.gitlab-ci.yml b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.gitlab-ci.yml index 564d7416bbbb..dd6dabc8dc6b 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.gitlab-ci.yml +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.gitlab-ci.yml @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov=openapi_client -pytest-3.10: - extends: .pytest - image: python:3.10-alpine pytest-3.11: extends: .pytest image: python:3.11-alpine diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.travis.yml b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.travis.yml index ef719723eb0d..4427cc321d15 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.travis.yml +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.travis.yml @@ -1,7 +1,6 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/samples/client/echo_api/python/.github/workflows/python.yml b/samples/client/echo_api/python/.github/workflows/python.yml index a0cf208ec8b5..155511037cb0 100644 --- a/samples/client/echo_api/python/.github/workflows/python.yml +++ b/samples/client/echo_api/python/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/client/echo_api/python/.gitlab-ci.yml b/samples/client/echo_api/python/.gitlab-ci.yml index 564d7416bbbb..dd6dabc8dc6b 100644 --- a/samples/client/echo_api/python/.gitlab-ci.yml +++ b/samples/client/echo_api/python/.gitlab-ci.yml @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov=openapi_client -pytest-3.10: - extends: .pytest - image: python:3.10-alpine pytest-3.11: extends: .pytest image: python:3.11-alpine diff --git a/samples/client/echo_api/python/.travis.yml b/samples/client/echo_api/python/.travis.yml index ef719723eb0d..4427cc321d15 100644 --- a/samples/client/echo_api/python/.travis.yml +++ b/samples/client/echo_api/python/.travis.yml @@ -1,7 +1,6 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml b/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml index 5bfcc9d802df..340f4e5b2a15 100644 --- a/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml +++ b/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/client/others/python-legacy-model-dictionaries/.gitlab-ci.yml b/samples/client/others/python-legacy-model-dictionaries/.gitlab-ci.yml index 84413b5e8b91..df08a258e997 100644 --- a/samples/client/others/python-legacy-model-dictionaries/.gitlab-ci.yml +++ b/samples/client/others/python-legacy-model-dictionaries/.gitlab-ci.yml @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov=legacy_model_dict_client -pytest-3.10: - extends: .pytest - image: python:3.10-alpine pytest-3.11: extends: .pytest image: python:3.11-alpine diff --git a/samples/client/others/python-legacy-model-dictionaries/.travis.yml b/samples/client/others/python-legacy-model-dictionaries/.travis.yml index 12309a614799..fe19f9874f0f 100644 --- a/samples/client/others/python-legacy-model-dictionaries/.travis.yml +++ b/samples/client/others/python-legacy-model-dictionaries/.travis.yml @@ -1,7 +1,6 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml index 20c4eae353fb..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-aiohttp/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-aiohttp/.gitlab-ci.yml index ed57a8f29294..a2b202376fa8 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-aiohttp/.gitlab-ci.yml @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov=petstore_api -pytest-3.10: - extends: .pytest - image: python:3.10-alpine pytest-3.11: extends: .pytest image: python:3.11-alpine diff --git a/samples/openapi3/client/petstore/python-aiohttp/.travis.yml b/samples/openapi3/client/petstore/python-aiohttp/.travis.yml index 58b0a87885b9..e8d58f51989e 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/.travis.yml +++ b/samples/openapi3/client/petstore/python-aiohttp/.travis.yml @@ -1,7 +1,6 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml index 20c4eae353fb..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-httpx-sync/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-httpx-sync/.gitlab-ci.yml index ed57a8f29294..a2b202376fa8 100644 --- a/samples/openapi3/client/petstore/python-httpx-sync/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-httpx-sync/.gitlab-ci.yml @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov=petstore_api -pytest-3.10: - extends: .pytest - image: python:3.10-alpine pytest-3.11: extends: .pytest image: python:3.11-alpine diff --git a/samples/openapi3/client/petstore/python-httpx-sync/.travis.yml b/samples/openapi3/client/petstore/python-httpx-sync/.travis.yml index 58b0a87885b9..e8d58f51989e 100644 --- a/samples/openapi3/client/petstore/python-httpx-sync/.travis.yml +++ b/samples/openapi3/client/petstore/python-httpx-sync/.travis.yml @@ -1,7 +1,6 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml index 20c4eae353fb..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-httpx/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-httpx/.gitlab-ci.yml index ed57a8f29294..a2b202376fa8 100644 --- a/samples/openapi3/client/petstore/python-httpx/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-httpx/.gitlab-ci.yml @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov=petstore_api -pytest-3.10: - extends: .pytest - image: python:3.10-alpine pytest-3.11: extends: .pytest image: python:3.11-alpine diff --git a/samples/openapi3/client/petstore/python-httpx/.travis.yml b/samples/openapi3/client/petstore/python-httpx/.travis.yml index 58b0a87885b9..e8d58f51989e 100644 --- a/samples/openapi3/client/petstore/python-httpx/.travis.yml +++ b/samples/openapi3/client/petstore/python-httpx/.travis.yml @@ -1,7 +1,6 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml index 20c4eae353fb..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-httpx2-sync/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-httpx2-sync/.gitlab-ci.yml index ed57a8f29294..a2b202376fa8 100644 --- a/samples/openapi3/client/petstore/python-httpx2-sync/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-httpx2-sync/.gitlab-ci.yml @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov=petstore_api -pytest-3.10: - extends: .pytest - image: python:3.10-alpine pytest-3.11: extends: .pytest image: python:3.11-alpine diff --git a/samples/openapi3/client/petstore/python-httpx2-sync/.travis.yml b/samples/openapi3/client/petstore/python-httpx2-sync/.travis.yml index 58b0a87885b9..e8d58f51989e 100644 --- a/samples/openapi3/client/petstore/python-httpx2-sync/.travis.yml +++ b/samples/openapi3/client/petstore/python-httpx2-sync/.travis.yml @@ -1,7 +1,6 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml index 20c4eae353fb..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-httpx2/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-httpx2/.gitlab-ci.yml index ed57a8f29294..a2b202376fa8 100644 --- a/samples/openapi3/client/petstore/python-httpx2/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-httpx2/.gitlab-ci.yml @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov=petstore_api -pytest-3.10: - extends: .pytest - image: python:3.10-alpine pytest-3.11: extends: .pytest image: python:3.11-alpine diff --git a/samples/openapi3/client/petstore/python-httpx2/.travis.yml b/samples/openapi3/client/petstore/python-httpx2/.travis.yml index 58b0a87885b9..e8d58f51989e 100644 --- a/samples/openapi3/client/petstore/python-httpx2/.travis.yml +++ b/samples/openapi3/client/petstore/python-httpx2/.travis.yml @@ -1,7 +1,6 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml index 20c4eae353fb..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python-lazyImports/.gitlab-ci.yml b/samples/openapi3/client/petstore/python-lazyImports/.gitlab-ci.yml index ed57a8f29294..a2b202376fa8 100644 --- a/samples/openapi3/client/petstore/python-lazyImports/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python-lazyImports/.gitlab-ci.yml @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov=petstore_api -pytest-3.10: - extends: .pytest - image: python:3.10-alpine pytest-3.11: extends: .pytest image: python:3.11-alpine diff --git a/samples/openapi3/client/petstore/python-lazyImports/.travis.yml b/samples/openapi3/client/petstore/python-lazyImports/.travis.yml index 58b0a87885b9..e8d58f51989e 100644 --- a/samples/openapi3/client/petstore/python-lazyImports/.travis.yml +++ b/samples/openapi3/client/petstore/python-lazyImports/.travis.yml @@ -1,7 +1,6 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/samples/openapi3/client/petstore/python/.github/workflows/python.yml b/samples/openapi3/client/petstore/python/.github/workflows/python.yml index 20c4eae353fb..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python/.github/workflows/python.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"] + python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"] steps: - uses: actions/checkout@v4 diff --git a/samples/openapi3/client/petstore/python/.gitlab-ci.yml b/samples/openapi3/client/petstore/python/.gitlab-ci.yml index ed57a8f29294..a2b202376fa8 100755 --- a/samples/openapi3/client/petstore/python/.gitlab-ci.yml +++ b/samples/openapi3/client/petstore/python/.gitlab-ci.yml @@ -14,9 +14,6 @@ stages: - pip install -r test-requirements.txt - pytest --cov=petstore_api -pytest-3.10: - extends: .pytest - image: python:3.10-alpine pytest-3.11: extends: .pytest image: python:3.11-alpine diff --git a/samples/openapi3/client/petstore/python/.travis.yml b/samples/openapi3/client/petstore/python/.travis.yml index 58b0a87885b9..e8d58f51989e 100755 --- a/samples/openapi3/client/petstore/python/.travis.yml +++ b/samples/openapi3/client/petstore/python/.travis.yml @@ -1,7 +1,6 @@ # ref: https://docs.travis-ci.com/user/languages/python language: python python: - - "3.10" - "3.11" - "3.12" - "3.13" From 53ee63c2342fec1f2be71b4d02287e83a5689df0 Mon Sep 17 00:00:00 2001 From: Bernardo Gomes Date: Sun, 18 Oct 2026 22:52:11 -0300 Subject: [PATCH 6/7] remove 3.10 python --- .github/workflows/samples-python-client-echo-api.yaml | 1 - .../samples-python-client-legacy-model-dictionaries.yaml | 1 - .github/workflows/samples-python-fastapi-server.yaml | 2 +- .github/workflows/samples-python-petstore.yaml | 1 - .../samples-python-pydantic-v1-client-echo-api.yaml | 1 - .github/workflows/samples-python-pydantic-v1-petstore.yaml | 1 - docs/generators/python-fastapi.md | 2 +- docs/generators/python.md | 2 +- .../openapitools/codegen/languages/PythonClientCodegen.java | 2 +- .../codegen/languages/PythonFastAPIServerCodegen.java | 2 +- .../src/main/resources/python/pyproject.mustache | 4 ++-- .../src/main/resources/python/setup.mustache | 2 +- .../README.md | 2 +- .../pyproject.toml | 2 +- .../setup.py | 2 +- samples/client/echo_api/python/README.md | 2 +- samples/client/echo_api/python/pyproject.toml | 2 +- samples/client/echo_api/python/setup.py | 2 +- .../others/python-legacy-model-dictionaries/README.md | 2 +- .../others/python-legacy-model-dictionaries/pyproject.toml | 2 +- .../client/others/python-legacy-model-dictionaries/setup.py | 2 +- samples/openapi3/client/petstore/python-aiohttp/README.md | 2 +- .../openapi3/client/petstore/python-aiohttp/pyproject.toml | 2 +- samples/openapi3/client/petstore/python-aiohttp/setup.py | 2 +- .../openapi3/client/petstore/python-httpx-sync/README.md | 2 +- .../client/petstore/python-httpx-sync/pyproject.toml | 2 +- samples/openapi3/client/petstore/python-httpx-sync/setup.py | 2 +- samples/openapi3/client/petstore/python-httpx/README.md | 2 +- .../openapi3/client/petstore/python-httpx/pyproject.toml | 2 +- samples/openapi3/client/petstore/python-httpx/setup.py | 2 +- .../openapi3/client/petstore/python-httpx2-sync/README.md | 2 +- .../client/petstore/python-httpx2-sync/pyproject.toml | 2 +- .../openapi3/client/petstore/python-httpx2-sync/setup.py | 2 +- samples/openapi3/client/petstore/python-httpx2/README.md | 2 +- .../openapi3/client/petstore/python-httpx2/pyproject.toml | 2 +- samples/openapi3/client/petstore/python-httpx2/setup.py | 2 +- .../openapi3/client/petstore/python-lazyImports/README.md | 2 +- .../client/petstore/python-lazyImports/pyproject.toml | 2 +- .../openapi3/client/petstore/python-lazyImports/setup.py | 2 +- samples/openapi3/client/petstore/python/README.md | 2 +- samples/openapi3/client/petstore/python/pyproject.toml | 2 +- samples/openapi3/client/petstore/python/setup.py | 2 +- samples/server/petstore/python-fastapi/Dockerfile | 6 +++--- samples/server/petstore/python-fastapi/README.md | 2 +- samples/server/petstore/python-fastapi/setup.cfg | 4 ++-- 45 files changed, 44 insertions(+), 49 deletions(-) diff --git a/.github/workflows/samples-python-client-echo-api.yaml b/.github/workflows/samples-python-client-echo-api.yaml index 4c59ff6aa336..823993c72cff 100644 --- a/.github/workflows/samples-python-client-echo-api.yaml +++ b/.github/workflows/samples-python-client-echo-api.yaml @@ -18,7 +18,6 @@ jobs: - samples/client/echo_api/python - samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent python-version: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/.github/workflows/samples-python-client-legacy-model-dictionaries.yaml b/.github/workflows/samples-python-client-legacy-model-dictionaries.yaml index 064026f90d58..8248a0006d4e 100644 --- a/.github/workflows/samples-python-client-legacy-model-dictionaries.yaml +++ b/.github/workflows/samples-python-client-legacy-model-dictionaries.yaml @@ -14,7 +14,6 @@ jobs: fail-fast: false matrix: python-version: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/.github/workflows/samples-python-fastapi-server.yaml b/.github/workflows/samples-python-fastapi-server.yaml index f99d5fbeffc9..902a08aa6586 100644 --- a/.github/workflows/samples-python-fastapi-server.yaml +++ b/.github/workflows/samples-python-fastapi-server.yaml @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@v7 - uses: actions/setup-python@v7 with: - python-version: '3.10' + python-version: "3.11" - name: Install dependencies working-directory: ${{ matrix.sample }} run: | diff --git a/.github/workflows/samples-python-petstore.yaml b/.github/workflows/samples-python-petstore.yaml index 73dc30d75366..9f07ebd8a3de 100644 --- a/.github/workflows/samples-python-petstore.yaml +++ b/.github/workflows/samples-python-petstore.yaml @@ -32,7 +32,6 @@ jobs: fail-fast: false matrix: python-version: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/.github/workflows/samples-python-pydantic-v1-client-echo-api.yaml b/.github/workflows/samples-python-pydantic-v1-client-echo-api.yaml index 96cc763f99ad..94b042250b5f 100644 --- a/.github/workflows/samples-python-pydantic-v1-client-echo-api.yaml +++ b/.github/workflows/samples-python-pydantic-v1-client-echo-api.yaml @@ -17,7 +17,6 @@ jobs: # clients - samples/client/echo_api/python-pydantic-v1/ python-version: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/.github/workflows/samples-python-pydantic-v1-petstore.yaml b/.github/workflows/samples-python-pydantic-v1-petstore.yaml index 1d74a46b1f93..f9c5c9d5647c 100644 --- a/.github/workflows/samples-python-pydantic-v1-petstore.yaml +++ b/.github/workflows/samples-python-pydantic-v1-petstore.yaml @@ -15,7 +15,6 @@ jobs: fail-fast: false matrix: python-version: - - "3.10" - "3.11" - "3.12" - "3.13" diff --git a/docs/generators/python-fastapi.md b/docs/generators/python-fastapi.md index b1a2d987450a..304dc57d9839 100644 --- a/docs/generators/python-fastapi.md +++ b/docs/generators/python-fastapi.md @@ -10,7 +10,7 @@ title: Documentation for the python-fastapi Generator | generator stability | BETA | | | generator type | SERVER | | | generator language | Python | | -| generator language version | 3.10 | | +| generator language version | 3.11 | | | generator default templating engine | mustache | | | helpTxt | Generates a Python FastAPI server (beta). Models are defined with the pydantic library | | diff --git a/docs/generators/python.md b/docs/generators/python.md index 828b94f83cfc..deeba9c77a20 100644 --- a/docs/generators/python.md +++ b/docs/generators/python.md @@ -10,7 +10,7 @@ title: Documentation for the python Generator | generator stability | STABLE | | | generator type | CLIENT | | | generator language | Python | | -| generator language version | 3.10+ | | +| generator language version | 3.11+ | | | generator default templating engine | mustache | | | helpTxt | Generates a Python client library. | | diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java index af9aab3b7388..798bb17b7c2d 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonClientCodegen.java @@ -604,7 +604,7 @@ public String generatePackageName(String packageName) { @Override public String generatorLanguageVersion() { - return "3.10+"; + return "3.11+"; } @Override diff --git a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java index ecaf15cdf630..632ce9eed835 100644 --- a/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java +++ b/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/PythonFastAPIServerCodegen.java @@ -591,7 +591,7 @@ public void postProcess() { @Override public String generatorLanguageVersion() { - return "3.10"; + return "3.11"; } @Override diff --git a/modules/openapi-generator/src/main/resources/python/pyproject.mustache b/modules/openapi-generator/src/main/resources/python/pyproject.mustache index 96b7113fa667..109cff467caa 100644 --- a/modules/openapi-generator/src/main/resources/python/pyproject.mustache +++ b/modules/openapi-generator/src/main/resources/python/pyproject.mustache @@ -37,7 +37,7 @@ packages = [ include = ["{{#sourceFolder}}{{{sourceFolder}}}/{{/sourceFolder}}{{packageName}}/py.typed"] [tool.poetry.dependencies] -python = "^3.10" +python = "^3.11" {{^async}} urllib3 = ">= 2.7.0, < 3.0.0" {{/async}} @@ -60,7 +60,7 @@ pydantic = ">= 2.11" typing-extensions = ">= 4.7.1" {{/poetry1}} {{^poetry1}} -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ {{^async}} diff --git a/modules/openapi-generator/src/main/resources/python/setup.mustache b/modules/openapi-generator/src/main/resources/python/setup.mustache index 53763437f7ac..8f0da3eee18d 100644 --- a/modules/openapi-generator/src/main/resources/python/setup.mustache +++ b/modules/openapi-generator/src/main/resources/python/setup.mustache @@ -10,7 +10,7 @@ from setuptools import setup, find_packages # noqa: H301 # http://pypi.python.org/pypi/setuptools NAME = "{{{projectName}}}" VERSION = "{{packageVersion}}" -PYTHON_REQUIRES = ">= 3.10" +PYTHON_REQUIRES = ">= 3.11" REQUIRES = [ {{^async}} "urllib3 >= 2.7.0, < 3.0.0", diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/README.md b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/README.md index 91786c45dfc1..50cdefda03ae 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/README.md +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/README.md @@ -10,7 +10,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https: ## Requirements. -Python 3.10+ +Python 3.11+ Packaging uses standard `[project]` metadata and `[dependency-groups]` (PEP 621/735). Install the package with `python -m pip install .`; install development dependencies diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/pyproject.toml b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/pyproject.toml index 5ca31fa22b75..c8ba8d656bd2 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/pyproject.toml +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/pyproject.toml @@ -8,7 +8,7 @@ authors = [ license = { text = "Apache 2.0" } readme = "README.md" keywords = ["OpenAPI", "OpenAPI-Generator", "Echo Server API"] -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "urllib3 (>=2.7.0,<3.0.0)", diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/setup.py b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/setup.py index 2232e7608cb4..20494a74d591 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/setup.py +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/setup.py @@ -21,7 +21,7 @@ # http://pypi.python.org/pypi/setuptools NAME = "openapi-client" VERSION = "1.0.0" -PYTHON_REQUIRES = ">= 3.10" +PYTHON_REQUIRES = ">= 3.11" REQUIRES = [ "urllib3 >= 2.7.0, < 3.0.0", "python-dateutil >= 2.8.2", diff --git a/samples/client/echo_api/python/README.md b/samples/client/echo_api/python/README.md index 91786c45dfc1..50cdefda03ae 100644 --- a/samples/client/echo_api/python/README.md +++ b/samples/client/echo_api/python/README.md @@ -10,7 +10,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https: ## Requirements. -Python 3.10+ +Python 3.11+ Packaging uses standard `[project]` metadata and `[dependency-groups]` (PEP 621/735). Install the package with `python -m pip install .`; install development dependencies diff --git a/samples/client/echo_api/python/pyproject.toml b/samples/client/echo_api/python/pyproject.toml index 5ca31fa22b75..c8ba8d656bd2 100644 --- a/samples/client/echo_api/python/pyproject.toml +++ b/samples/client/echo_api/python/pyproject.toml @@ -8,7 +8,7 @@ authors = [ license = { text = "Apache 2.0" } readme = "README.md" keywords = ["OpenAPI", "OpenAPI-Generator", "Echo Server API"] -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "urllib3 (>=2.7.0,<3.0.0)", diff --git a/samples/client/echo_api/python/setup.py b/samples/client/echo_api/python/setup.py index 2232e7608cb4..20494a74d591 100644 --- a/samples/client/echo_api/python/setup.py +++ b/samples/client/echo_api/python/setup.py @@ -21,7 +21,7 @@ # http://pypi.python.org/pypi/setuptools NAME = "openapi-client" VERSION = "1.0.0" -PYTHON_REQUIRES = ">= 3.10" +PYTHON_REQUIRES = ">= 3.11" REQUIRES = [ "urllib3 >= 2.7.0, < 3.0.0", "python-dateutil >= 2.8.2", diff --git a/samples/client/others/python-legacy-model-dictionaries/README.md b/samples/client/others/python-legacy-model-dictionaries/README.md index 25df6323a088..0875297f5f68 100644 --- a/samples/client/others/python-legacy-model-dictionaries/README.md +++ b/samples/client/others/python-legacy-model-dictionaries/README.md @@ -10,7 +10,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https: ## Requirements. -Python 3.10+ +Python 3.11+ Packaging uses standard `[project]` metadata and `[dependency-groups]` (PEP 621/735). Install the package with `python -m pip install .`; install development dependencies diff --git a/samples/client/others/python-legacy-model-dictionaries/pyproject.toml b/samples/client/others/python-legacy-model-dictionaries/pyproject.toml index 1e9c1a3105e5..5f5e6b8ae3d5 100644 --- a/samples/client/others/python-legacy-model-dictionaries/pyproject.toml +++ b/samples/client/others/python-legacy-model-dictionaries/pyproject.toml @@ -7,7 +7,7 @@ authors = [ ] readme = "README.md" keywords = ["OpenAPI", "OpenAPI-Generator", "Legacy model dictionaries"] -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "urllib3 (>=2.7.0,<3.0.0)", diff --git a/samples/client/others/python-legacy-model-dictionaries/setup.py b/samples/client/others/python-legacy-model-dictionaries/setup.py index eb35f2c58fa2..d18c5efcc6cf 100644 --- a/samples/client/others/python-legacy-model-dictionaries/setup.py +++ b/samples/client/others/python-legacy-model-dictionaries/setup.py @@ -20,7 +20,7 @@ # http://pypi.python.org/pypi/setuptools NAME = "legacy-model-dict-client" VERSION = "1.0.0" -PYTHON_REQUIRES = ">= 3.10" +PYTHON_REQUIRES = ">= 3.11" REQUIRES = [ "urllib3 >= 2.7.0, < 3.0.0", "python-dateutil >= 2.8.2", diff --git a/samples/openapi3/client/petstore/python-aiohttp/README.md b/samples/openapi3/client/petstore/python-aiohttp/README.md index 7e15564de3cc..ca524c24be72 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/README.md +++ b/samples/openapi3/client/petstore/python-aiohttp/README.md @@ -10,7 +10,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https: ## Requirements. -Python 3.10+ +Python 3.11+ Packaging retains the deprecated `[tool.poetry.dev-dependencies]` table for compatibility with legacy Poetry 1 releases. Generate with `poetry1=false` to use diff --git a/samples/openapi3/client/petstore/python-aiohttp/pyproject.toml b/samples/openapi3/client/petstore/python-aiohttp/pyproject.toml index 16d5fca0c199..bcf671a77754 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/pyproject.toml +++ b/samples/openapi3/client/petstore/python-aiohttp/pyproject.toml @@ -10,7 +10,7 @@ keywords = ["OpenAPI", "OpenAPI-Generator", "OpenAPI Petstore"] include = ["petstore_api/py.typed"] [tool.poetry.dependencies] -python = "^3.10" +python = "^3.11" python-dateutil = ">= 2.8.2" aiohttp = ">= 3.14.1" aiohttp-retry = ">= 2.8.3" diff --git a/samples/openapi3/client/petstore/python-aiohttp/setup.py b/samples/openapi3/client/petstore/python-aiohttp/setup.py index 75a720848ea9..662f156c19cf 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/setup.py +++ b/samples/openapi3/client/petstore/python-aiohttp/setup.py @@ -20,7 +20,7 @@ # http://pypi.python.org/pypi/setuptools NAME = "petstore-api" VERSION = "1.0.0" -PYTHON_REQUIRES = ">= 3.10" +PYTHON_REQUIRES = ">= 3.11" REQUIRES = [ "python-dateutil >= 2.8.2", "aiohttp >= 3.14.1", diff --git a/samples/openapi3/client/petstore/python-httpx-sync/README.md b/samples/openapi3/client/petstore/python-httpx-sync/README.md index d696bf8659b7..1903b0062bd5 100644 --- a/samples/openapi3/client/petstore/python-httpx-sync/README.md +++ b/samples/openapi3/client/petstore/python-httpx-sync/README.md @@ -10,7 +10,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https: ## Requirements. -Python 3.10+ +Python 3.11+ Packaging uses standard `[project]` metadata and `[dependency-groups]` (PEP 621/735). Install the package with `python -m pip install .`; install development dependencies diff --git a/samples/openapi3/client/petstore/python-httpx-sync/pyproject.toml b/samples/openapi3/client/petstore/python-httpx-sync/pyproject.toml index 046bc636c51e..15b2a10b849b 100644 --- a/samples/openapi3/client/petstore/python-httpx-sync/pyproject.toml +++ b/samples/openapi3/client/petstore/python-httpx-sync/pyproject.toml @@ -8,7 +8,7 @@ authors = [ license = { text = "Apache-2.0" } readme = "README.md" keywords = ["OpenAPI", "OpenAPI-Generator", "OpenAPI Petstore"] -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "python-dateutil (>=2.8.2)", diff --git a/samples/openapi3/client/petstore/python-httpx-sync/setup.py b/samples/openapi3/client/petstore/python-httpx-sync/setup.py index 89ef2676e4c8..e3fbfe697e5a 100644 --- a/samples/openapi3/client/petstore/python-httpx-sync/setup.py +++ b/samples/openapi3/client/petstore/python-httpx-sync/setup.py @@ -20,7 +20,7 @@ # http://pypi.python.org/pypi/setuptools NAME = "petstore-api" VERSION = "1.0.0" -PYTHON_REQUIRES = ">= 3.10" +PYTHON_REQUIRES = ">= 3.11" REQUIRES = [ "python-dateutil >= 2.8.2", "httpx >= 0.28.1", diff --git a/samples/openapi3/client/petstore/python-httpx/README.md b/samples/openapi3/client/petstore/python-httpx/README.md index d696bf8659b7..1903b0062bd5 100644 --- a/samples/openapi3/client/petstore/python-httpx/README.md +++ b/samples/openapi3/client/petstore/python-httpx/README.md @@ -10,7 +10,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https: ## Requirements. -Python 3.10+ +Python 3.11+ Packaging uses standard `[project]` metadata and `[dependency-groups]` (PEP 621/735). Install the package with `python -m pip install .`; install development dependencies diff --git a/samples/openapi3/client/petstore/python-httpx/pyproject.toml b/samples/openapi3/client/petstore/python-httpx/pyproject.toml index 046bc636c51e..15b2a10b849b 100644 --- a/samples/openapi3/client/petstore/python-httpx/pyproject.toml +++ b/samples/openapi3/client/petstore/python-httpx/pyproject.toml @@ -8,7 +8,7 @@ authors = [ license = { text = "Apache-2.0" } readme = "README.md" keywords = ["OpenAPI", "OpenAPI-Generator", "OpenAPI Petstore"] -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "python-dateutil (>=2.8.2)", diff --git a/samples/openapi3/client/petstore/python-httpx/setup.py b/samples/openapi3/client/petstore/python-httpx/setup.py index 89ef2676e4c8..e3fbfe697e5a 100644 --- a/samples/openapi3/client/petstore/python-httpx/setup.py +++ b/samples/openapi3/client/petstore/python-httpx/setup.py @@ -20,7 +20,7 @@ # http://pypi.python.org/pypi/setuptools NAME = "petstore-api" VERSION = "1.0.0" -PYTHON_REQUIRES = ">= 3.10" +PYTHON_REQUIRES = ">= 3.11" REQUIRES = [ "python-dateutil >= 2.8.2", "httpx >= 0.28.1", diff --git a/samples/openapi3/client/petstore/python-httpx2-sync/README.md b/samples/openapi3/client/petstore/python-httpx2-sync/README.md index cf31ce123a3c..01536b739b3b 100644 --- a/samples/openapi3/client/petstore/python-httpx2-sync/README.md +++ b/samples/openapi3/client/petstore/python-httpx2-sync/README.md @@ -10,7 +10,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https: ## Requirements. -Python 3.10+ +Python 3.11+ Packaging uses standard `[project]` metadata and `[dependency-groups]` (PEP 621/735). Install the package with `python -m pip install .`; install development dependencies diff --git a/samples/openapi3/client/petstore/python-httpx2-sync/pyproject.toml b/samples/openapi3/client/petstore/python-httpx2-sync/pyproject.toml index 759565d25be0..d0c97fcd113f 100644 --- a/samples/openapi3/client/petstore/python-httpx2-sync/pyproject.toml +++ b/samples/openapi3/client/petstore/python-httpx2-sync/pyproject.toml @@ -8,7 +8,7 @@ authors = [ license = { text = "Apache-2.0" } readme = "README.md" keywords = ["OpenAPI", "OpenAPI-Generator", "OpenAPI Petstore"] -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "python-dateutil (>=2.8.2)", diff --git a/samples/openapi3/client/petstore/python-httpx2-sync/setup.py b/samples/openapi3/client/petstore/python-httpx2-sync/setup.py index c90f36d75a91..def9367fbbd0 100644 --- a/samples/openapi3/client/petstore/python-httpx2-sync/setup.py +++ b/samples/openapi3/client/petstore/python-httpx2-sync/setup.py @@ -20,7 +20,7 @@ # http://pypi.python.org/pypi/setuptools NAME = "petstore-api" VERSION = "1.0.0" -PYTHON_REQUIRES = ">= 3.10" +PYTHON_REQUIRES = ">= 3.11" REQUIRES = [ "python-dateutil >= 2.8.2", "httpx2 >= 2.13.0, < 3", diff --git a/samples/openapi3/client/petstore/python-httpx2/README.md b/samples/openapi3/client/petstore/python-httpx2/README.md index 762afbfcdb00..63c9ecaaa336 100644 --- a/samples/openapi3/client/petstore/python-httpx2/README.md +++ b/samples/openapi3/client/petstore/python-httpx2/README.md @@ -10,7 +10,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https: ## Requirements. -Python 3.10+ +Python 3.11+ Packaging uses standard `[project]` metadata and `[dependency-groups]` (PEP 621/735). Install the package with `python -m pip install .`; install development dependencies diff --git a/samples/openapi3/client/petstore/python-httpx2/pyproject.toml b/samples/openapi3/client/petstore/python-httpx2/pyproject.toml index 759565d25be0..d0c97fcd113f 100644 --- a/samples/openapi3/client/petstore/python-httpx2/pyproject.toml +++ b/samples/openapi3/client/petstore/python-httpx2/pyproject.toml @@ -8,7 +8,7 @@ authors = [ license = { text = "Apache-2.0" } readme = "README.md" keywords = ["OpenAPI", "OpenAPI-Generator", "OpenAPI Petstore"] -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "python-dateutil (>=2.8.2)", diff --git a/samples/openapi3/client/petstore/python-httpx2/setup.py b/samples/openapi3/client/petstore/python-httpx2/setup.py index c90f36d75a91..def9367fbbd0 100644 --- a/samples/openapi3/client/petstore/python-httpx2/setup.py +++ b/samples/openapi3/client/petstore/python-httpx2/setup.py @@ -20,7 +20,7 @@ # http://pypi.python.org/pypi/setuptools NAME = "petstore-api" VERSION = "1.0.0" -PYTHON_REQUIRES = ">= 3.10" +PYTHON_REQUIRES = ">= 3.11" REQUIRES = [ "python-dateutil >= 2.8.2", "httpx2 >= 2.13.0, < 3", diff --git a/samples/openapi3/client/petstore/python-lazyImports/README.md b/samples/openapi3/client/petstore/python-lazyImports/README.md index d907bad2411f..83d11d217232 100644 --- a/samples/openapi3/client/petstore/python-lazyImports/README.md +++ b/samples/openapi3/client/petstore/python-lazyImports/README.md @@ -10,7 +10,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https: ## Requirements. -Python 3.10+ +Python 3.11+ Packaging uses standard `[project]` metadata and `[dependency-groups]` (PEP 621/735). Install the package with `python -m pip install .`; install development dependencies diff --git a/samples/openapi3/client/petstore/python-lazyImports/pyproject.toml b/samples/openapi3/client/petstore/python-lazyImports/pyproject.toml index abc3fa06045a..763ab84520b5 100644 --- a/samples/openapi3/client/petstore/python-lazyImports/pyproject.toml +++ b/samples/openapi3/client/petstore/python-lazyImports/pyproject.toml @@ -8,7 +8,7 @@ authors = [ license = { text = "Apache-2.0" } readme = "README.md" keywords = ["OpenAPI", "OpenAPI-Generator", "OpenAPI Petstore"] -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "urllib3 (>=2.7.0,<3.0.0)", diff --git a/samples/openapi3/client/petstore/python-lazyImports/setup.py b/samples/openapi3/client/petstore/python-lazyImports/setup.py index f07225fced95..0e0385045013 100644 --- a/samples/openapi3/client/petstore/python-lazyImports/setup.py +++ b/samples/openapi3/client/petstore/python-lazyImports/setup.py @@ -20,7 +20,7 @@ # http://pypi.python.org/pypi/setuptools NAME = "petstore-api" VERSION = "1.0.0" -PYTHON_REQUIRES = ">= 3.10" +PYTHON_REQUIRES = ">= 3.11" REQUIRES = [ "urllib3 >= 2.7.0, < 3.0.0", "python-dateutil >= 2.8.2", diff --git a/samples/openapi3/client/petstore/python/README.md b/samples/openapi3/client/petstore/python/README.md index f50f803b5806..55e5221848a5 100755 --- a/samples/openapi3/client/petstore/python/README.md +++ b/samples/openapi3/client/petstore/python/README.md @@ -10,7 +10,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https: ## Requirements. -Python 3.10+ +Python 3.11+ Packaging uses standard `[project]` metadata and `[dependency-groups]` (PEP 621/735). Install the package with `python -m pip install .`; install development dependencies diff --git a/samples/openapi3/client/petstore/python/pyproject.toml b/samples/openapi3/client/petstore/python/pyproject.toml index abc3fa06045a..763ab84520b5 100644 --- a/samples/openapi3/client/petstore/python/pyproject.toml +++ b/samples/openapi3/client/petstore/python/pyproject.toml @@ -8,7 +8,7 @@ authors = [ license = { text = "Apache-2.0" } readme = "README.md" keywords = ["OpenAPI", "OpenAPI-Generator", "OpenAPI Petstore"] -requires-python = ">=3.10" +requires-python = ">=3.11" dependencies = [ "urllib3 (>=2.7.0,<3.0.0)", diff --git a/samples/openapi3/client/petstore/python/setup.py b/samples/openapi3/client/petstore/python/setup.py index f07225fced95..0e0385045013 100755 --- a/samples/openapi3/client/petstore/python/setup.py +++ b/samples/openapi3/client/petstore/python/setup.py @@ -20,7 +20,7 @@ # http://pypi.python.org/pypi/setuptools NAME = "petstore-api" VERSION = "1.0.0" -PYTHON_REQUIRES = ">= 3.10" +PYTHON_REQUIRES = ">= 3.11" REQUIRES = [ "urllib3 >= 2.7.0, < 3.0.0", "python-dateutil >= 2.8.2", diff --git a/samples/server/petstore/python-fastapi/Dockerfile b/samples/server/petstore/python-fastapi/Dockerfile index 15e66460952f..851657206ba7 100644 --- a/samples/server/petstore/python-fastapi/Dockerfile +++ b/samples/server/petstore/python-fastapi/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.10 AS builder +FROM python:3.11 AS builder WORKDIR /usr/src/app @@ -11,7 +11,7 @@ COPY . . RUN pip install --no-cache-dir . -FROM python:3.10 AS test_runner +FROM python:3.11 AS test_runner WORKDIR /tmp COPY --from=builder /venv /venv COPY --from=builder /usr/src/app/tests tests @@ -24,7 +24,7 @@ RUN pip install pytest RUN pytest tests -FROM python:3.10 AS service +FROM python:3.11 AS service WORKDIR /root/app/site-packages COPY --from=test_runner /venv /venv ENV PATH=/venv/bin:$PATH diff --git a/samples/server/petstore/python-fastapi/README.md b/samples/server/petstore/python-fastapi/README.md index b62fa4c4d749..65a20feaf77d 100644 --- a/samples/server/petstore/python-fastapi/README.md +++ b/samples/server/petstore/python-fastapi/README.md @@ -8,7 +8,7 @@ This Python package is automatically generated by the [OpenAPI Generator](https: ## Requirements. -Python >= 3.10 +Python >= 3.11 ## Installation & Usage diff --git a/samples/server/petstore/python-fastapi/setup.cfg b/samples/server/petstore/python-fastapi/setup.cfg index ee047207bdea..980977a052ef 100644 --- a/samples/server/petstore/python-fastapi/setup.cfg +++ b/samples/server/petstore/python-fastapi/setup.cfg @@ -4,11 +4,11 @@ version = 3.4.5 description = This is a sample server Petstore server. For this sample, you can use the api key `special-key` to test the authorization filters. long_description = file: README.md keywords = OpenAPI OpenAPI Petstore -python_requires = >= 3.10.* +python_requires = >= 3.11.* classifiers = Operating System :: OS Independent Programming Language :: Python :: 3 - Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 [options] install_requires = fastapi[all] From 5ea99b7cd1945184e598085357dec242cb117ba6 Mon Sep 17 00:00:00 2001 From: Bernardo Gomes Date: Mon, 19 Oct 2026 06:41:10 -0300 Subject: [PATCH 7/7] update python.yml --- .../.github/workflows/python.yml | 1 + samples/client/echo_api/python/.github/workflows/python.yml | 1 + .../.github/workflows/python.yml | 1 + .../client/petstore/python-aiohttp/.github/workflows/python.yml | 1 + .../petstore/python-httpx-sync/.github/workflows/python.yml | 1 + .../client/petstore/python-httpx/.github/workflows/python.yml | 1 + .../petstore/python-httpx2-sync/.github/workflows/python.yml | 1 + .../client/petstore/python-httpx2/.github/workflows/python.yml | 1 + .../petstore/python-lazyImports/.github/workflows/python.yml | 1 + .../openapi3/client/petstore/python/.github/workflows/python.yml | 1 + 10 files changed, 10 insertions(+) diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml index e394798c323b..155511037cb0 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/.github/workflows/python.yml @@ -12,6 +12,7 @@ permissions: jobs: build: + runs-on: ubuntu-latest strategy: matrix: diff --git a/samples/client/echo_api/python/.github/workflows/python.yml b/samples/client/echo_api/python/.github/workflows/python.yml index e394798c323b..155511037cb0 100644 --- a/samples/client/echo_api/python/.github/workflows/python.yml +++ b/samples/client/echo_api/python/.github/workflows/python.yml @@ -12,6 +12,7 @@ permissions: jobs: build: + runs-on: ubuntu-latest strategy: matrix: diff --git a/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml b/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml index cc913fc57a22..340f4e5b2a15 100644 --- a/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml +++ b/samples/client/others/python-legacy-model-dictionaries/.github/workflows/python.yml @@ -12,6 +12,7 @@ permissions: jobs: build: + runs-on: ubuntu-latest strategy: matrix: diff --git a/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml index 57f8c91abb46..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-aiohttp/.github/workflows/python.yml @@ -12,6 +12,7 @@ permissions: jobs: build: + runs-on: ubuntu-latest strategy: matrix: diff --git a/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml index 57f8c91abb46..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx-sync/.github/workflows/python.yml @@ -12,6 +12,7 @@ permissions: jobs: build: + runs-on: ubuntu-latest strategy: matrix: diff --git a/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml index 57f8c91abb46..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx/.github/workflows/python.yml @@ -12,6 +12,7 @@ permissions: jobs: build: + runs-on: ubuntu-latest strategy: matrix: diff --git a/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml index 57f8c91abb46..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx2-sync/.github/workflows/python.yml @@ -12,6 +12,7 @@ permissions: jobs: build: + runs-on: ubuntu-latest strategy: matrix: diff --git a/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml index 57f8c91abb46..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-httpx2/.github/workflows/python.yml @@ -12,6 +12,7 @@ permissions: jobs: build: + runs-on: ubuntu-latest strategy: matrix: diff --git a/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml b/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml index 57f8c91abb46..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python-lazyImports/.github/workflows/python.yml @@ -12,6 +12,7 @@ permissions: jobs: build: + runs-on: ubuntu-latest strategy: matrix: diff --git a/samples/openapi3/client/petstore/python/.github/workflows/python.yml b/samples/openapi3/client/petstore/python/.github/workflows/python.yml index 57f8c91abb46..8111d2dfb97a 100644 --- a/samples/openapi3/client/petstore/python/.github/workflows/python.yml +++ b/samples/openapi3/client/petstore/python/.github/workflows/python.yml @@ -12,6 +12,7 @@ permissions: jobs: build: + runs-on: ubuntu-latest strategy: matrix: