Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/samples-python-client-echo-api.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ jobs:
- samples/client/echo_api/python
- samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent
python-version:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "3.15"
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
Expand All @@ -34,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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,11 +14,11 @@ jobs:
fail-fast: false
matrix:
python-version:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "3.15"
steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/samples-python-fastapi-server.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/samples-python-petstore.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ jobs:
fail-fast: false
matrix:
python-version:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "3.15"
sample:
- samples/openapi3/client/petstore/python-aiohttp
- samples/openapi3/client/petstore/python-httpx2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ jobs:
# clients
- samples/client/echo_api/python-pydantic-v1/
python-version:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
#- "3.14"
#- "3.15"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2: Python 3.15 is still excluded from this workflow because the new matrix entry is commented out. Enable the entry so this pydantic-v1 echo sample actually validates the newly supported Python version.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At .github/workflows/samples-python-pydantic-v1-client-echo-api.yaml, line 24:

<comment>Python 3.15 is still excluded from this workflow because the new matrix entry is commented out. Enable the entry so this pydantic-v1 echo sample actually validates the newly supported Python version.</comment>

<file context>
@@ -17,11 +17,11 @@ jobs:
           - "3.12"
           - "3.13"
           #- "3.14"
+          #- "3.15"
     steps:
       - uses: actions/checkout@v7
</file context>
Suggested change
#- "3.15"
- "3.15"

steps:
- uses: actions/checkout@v7
- uses: actions/setup-python@v7
Expand All @@ -33,7 +33,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
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/samples-python-pydantic-v1-petstore.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ jobs:
fail-fast: false
matrix:
python-version:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "3.15"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2: This new Python 3.15 matrix entry runs the Pydantic v1 samples, but Pydantic v1 does not support Python 3.15, so these CI jobs will fail or exercise an unsupported environment. Remove this entry or migrate the samples before testing Python 3.15.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At .github/workflows/samples-python-pydantic-v1-petstore.yaml, line 22:

<comment>This new Python 3.15 matrix entry runs the Pydantic v1 samples, but Pydantic v1 does not support Python 3.15, so these CI jobs will fail or exercise an unsupported environment. Remove this entry or migrate the samples before testing Python 3.15.</comment>

<file context>
@@ -15,11 +15,11 @@ jobs:
           - "3.12"
           - "3.13"
           - "3.14"
+          - "3.15"
         sample:
           - samples/openapi3/client/petstore/python-pydantic-v1-aiohttp
</file context>

sample:
- samples/openapi3/client/petstore/python-pydantic-v1-aiohttp
- samples/openapi3/client/petstore/python-pydantic-v1
Expand Down
2 changes: 1 addition & 1 deletion docs/generators/python-fastapi.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 | |

Expand Down
2 changes: 1 addition & 1 deletion docs/generators/python.md
Original file line number Diff line number Diff line change
Expand Up @@ -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. | |

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -604,7 +604,7 @@ public String generatePackageName(String packageName) {

@Override
public String generatorLanguageVersion() {
return "3.10+";
return "3.11+";
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -591,7 +591,7 @@ public void postProcess() {

@Override
public String generatorLanguageVersion() {
return "3.10";
return "3.11";
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.11", "3.12", "3.13", "3.14", "3.15"]

steps:
- uses: actions/checkout@v4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -29,3 +26,6 @@ pytest-3.13:
pytest-3.14:
extends: .pytest
image: python:3.14-alpine
pytest-3.15:
extends: .pytest
image: python:3.15-alpine
Original file line number Diff line number Diff line change
Expand Up @@ -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}}
Expand All @@ -60,7 +60,7 @@ pydantic = ">= 2.11"
typing-extensions = ">= 4.7.1"
{{/poetry1}}
{{^poetry1}}
requires-python = ">=3.10"
requires-python = ">=3.11"

dependencies = [
{{^async}}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2: Changing this constant does not enforce the new minimum because setup() never receives python_requires=PYTHON_REQUIRES. Pass the constant into setup() so generated distributions publish the Python 3.11 requirement and installers reject unsupported Python versions.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At modules/openapi-generator/src/main/resources/python/setup.mustache, line 13:

<comment>Changing this constant does not enforce the new minimum because `setup()` never receives `python_requires=PYTHON_REQUIRES`. Pass the constant into `setup()` so generated distributions publish the Python 3.11 requirement and installers reject unsupported Python versions.</comment>

<file context>
@@ -10,7 +10,7 @@ from setuptools import setup, find_packages  # noqa: H301
 NAME = "{{{projectName}}}"
 VERSION = "{{packageVersion}}"
-PYTHON_REQUIRES = ">= 3.10"
+PYTHON_REQUIRES = ">= 3.11"
 REQUIRES = [
 {{^async}}
</file context>

REQUIRES = [
{{^async}}
"urllib3 >= 2.7.0, < 3.0.0",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# ref: https://docs.travis-ci.com/user/languages/python
language: python
python:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "3.15"
# uncomment the following if needed
#- "3.14-dev" # 3.14 development branch
#- "nightly" # nightly build
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.11", "3.12", "3.13", "3.14", "3.15"]

steps:
- uses: actions/checkout@v4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -29,3 +26,6 @@ pytest-3.13:
pytest-3.14:
extends: .pytest
image: python:3.14-alpine
pytest-3.15:
extends: .pytest
image: python:3.15-alpine
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# ref: https://docs.travis-ci.com/user/languages/python
language: python
python:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "3.15"
# uncomment the following if needed
#- "3.14-dev" # 3.14 development branch
#- "nightly" # nightly build
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2: This update does not enforce the Python 3.11 floor because PYTHON_REQUIRES is never passed to setup(). Add python_requires=PYTHON_REQUIRES to the setup() call so package metadata rejects Python 3.10.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/setup.py, line 24:

<comment>This update does not enforce the Python 3.11 floor because `PYTHON_REQUIRES` is never passed to `setup()`. Add `python_requires=PYTHON_REQUIRES` to the `setup()` call so package metadata rejects Python 3.10.</comment>

<file context>
@@ -21,7 +21,7 @@
 NAME = "openapi-client"
 VERSION = "1.0.0"
-PYTHON_REQUIRES = ">= 3.10"
+PYTHON_REQUIRES = ">= 3.11"
 REQUIRES = [
     "urllib3 >= 2.7.0, < 3.0.0",
</file context>

REQUIRES = [
"urllib3 >= 2.7.0, < 3.0.0",
"python-dateutil >= 2.8.2",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.11", "3.12", "3.13", "3.14", "3.15"]

steps:
- uses: actions/checkout@v4
Expand Down
6 changes: 3 additions & 3 deletions samples/client/echo_api/python/.gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -29,3 +26,6 @@ pytest-3.13:
pytest-3.14:
extends: .pytest
image: python:3.14-alpine
pytest-3.15:
extends: .pytest
image: python:3.15-alpine
2 changes: 1 addition & 1 deletion samples/client/echo_api/python/.travis.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# ref: https://docs.travis-ci.com/user/languages/python
language: python
python:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "3.15"
# uncomment the following if needed
#- "3.14-dev" # 3.14 development branch
#- "nightly" # nightly build
Expand Down
2 changes: 1 addition & 1 deletion samples/client/echo_api/python/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion samples/client/echo_api/python/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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)",
Expand Down
2 changes: 1 addition & 1 deletion samples/client/echo_api/python/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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.11", "3.12", "3.13", "3.14", "3.15"]

steps:
- uses: actions/checkout@v4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -29,3 +26,6 @@ pytest-3.13:
pytest-3.14:
extends: .pytest
image: python:3.14-alpine
pytest-3.15:
extends: .pytest
image: python:3.15-alpine
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# ref: https://docs.travis-ci.com/user/languages/python
language: python
python:
- "3.10"
- "3.11"
- "3.12"
- "3.13"
- "3.14"
- "3.15"
# uncomment the following if needed
#- "3.14-dev" # 3.14 development branch
#- "nightly" # nightly build
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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)",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P2: This version change does not affect the published package because setup() never passes PYTHON_REQUIRES as python_requires; add python_requires=PYTHON_REQUIRES so installers reject Python 3.10.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At samples/client/others/python-legacy-model-dictionaries/setup.py, line 23:

<comment>This version change does not affect the published package because `setup()` never passes `PYTHON_REQUIRES` as `python_requires`; add `python_requires=PYTHON_REQUIRES` so installers reject Python 3.10.</comment>

<file context>
@@ -20,7 +20,7 @@
 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",
</file context>

REQUIRES = [
"urllib3 >= 2.7.0, < 3.0.0",
"python-dateutil >= 2.8.2",
Expand Down
Loading
Loading