Commit Graph

173 Commits

Author SHA1 Message Date
William Cheng
9432aaf4a3 Prepare 7.21.0 snapshot (#22984)
* Revert "v7.20.0 release (#22983)"

This reverts commit bd7fc7f45f.

* update to v7.21.0 snapshot version

* update samples, docs

* update readme
2026-02-16 19:08:09 +08:00
William Cheng
73dcdd6976 Update python sdk to strip any directory traversal in filename (#22965)
* update python sdk

Strip any directory traversal

* rebased

* update samples, docs

* fallback case

---------

Co-authored-by: Pavel Slabko <slabkopg@gmail.com>
2026-02-14 00:57:57 +08:00
William Cheng
7eeab03a57 remove coding: utf-8 as thats the default already (#22934) 2026-02-10 16:42:05 +08:00
Timon
d81b0524af feat(python): enhance retry configuration in REST client (#22867)
* feat(python): enhance retry configuration in REST client

Updated the retry parameter in the Configuration class to support different types based on the library used (urllib3 or asyncio). Adjusted the RESTClientObject to handle the new retry configuration, allowing for more flexible retry options. This change improves the handling of retries in API requests, ensuring compatibility with various retry strategies.

* add samples

* use async context for retry doc string
2026-02-07 16:38:34 +08:00
William Cheng
9adfe986a3 Prepare v7.20.0 release (#22738)
* Revert "v7.19.0 release (#22732)"

This reverts commit ff400e9a31.

* prepare v7.20.0 release

* update samples

* update doc
2026-01-20 03:13:58 +08:00
William Cheng
23eff6672f Prepare v7.19.0 snapshot (#22569)
* Revert "7.18.0 release (#22567)"

This reverts commit 51228436e0.

* prepare 7.19.0 snapshot

* update samples

* update doc

* fix date
2025-12-22 19:25:23 +08:00
Jeremy Audet
cfcacf3074 Make python code compatible with urllib3 v2.6.0+ (#22520)
openapi-generator still uses methods that have been removed from urllib3
v2.6.0. The solution is as described in urllib3's changelog:

> Removed the HTTPResponse.getheaders() method in favor of
> HTTPResponse.headers. Removed the HTTPResponse.getheader(name,
> default) method in favor of HTTPResponse.headers.get(name, default).
> (#3622)

See https://urllib3.readthedocs.io/en/latest/changelog.html

Close #22514
2025-12-09 15:29:32 +08:00
William Cheng
e9c842f150 fix: do not add dependency on urllib3 if not required (#22453)
* fix: do not add dependency on urllib3 if not required

* update samples

* remove import

---------

Co-authored-by: Sascha Kreutz <saschakreutz@hotmail.de>
2025-11-27 16:03:21 +08:00
Josh Wulf
ddfcc95b61 fix: use httpx in generated configuration.py (#22418)
* fix: use httpx in generated configuration.py

* fix: add enum_values for httpx

* chore: update petstore samples
2025-11-23 15:11:48 +08:00
ddl-rliu
547eee1970 [BUG] Fix #22351 by updating exceptions.mustache to log both the response data and response body, when applicable (#22352)
* Update exceptions.mustache

* Add autogen files
2025-11-16 22:06:23 +08:00
Enric Pou
f37b8cce58 Add UUID examples and documentation (#22303) 2025-11-08 14:56:46 +08:00
William Cheng
f9d2b8b579 Prepare v7.18.0 release (#22250)
* Revert "v7.17.0 release (#22248)"

This reverts commit 0120486e62.

* prepare v7.18.0 release

* update samples

* update doc
2025-10-30 01:25:35 +08:00
Eddie Sholl
68b0dfe6d1 Expose mtls certificate config params in python and php configuration templates (#22229)
* Expose mtls config params in python template

* Expose certFile and keyFile configuration items to support mtls in php generated client

* Regenerate of examples
2025-10-28 12:33:05 +08:00
William Cheng
885ea07b17 Prepare 7.17.0 (#22040)
* Revert "v7.16.0 release"

This reverts commit 31299af0fc.

* prepare 7.17.0-SNAPSHOT

* update doc, samples
2025-09-28 17:25:13 +08:00
Artem ILIN
5f647b8477 [python] fixes #21936, api client type checks (#21935) 2025-09-11 00:04:48 +08:00
Pascal Bachor
6825d9ccaa python: feature flag for lazy imports (#21885)
* python: feature flag for lazy imports

* python: update samples

* python: add python-lazyImports to test job

* python: reuse tests in lazyImports sample

* python: avoid using non-imported submodules

* add normalizer option

---------

Co-authored-by: Pascal Bachor <bachorp@users.noreply.github.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
2025-09-10 17:22:41 +08:00
William Cheng
7b3de8dbce [python] fix default value when enum is a reference (#21923)
* fix default value when enum is ref (python)

* update spec
2025-09-09 09:21:09 +08:00
William Cheng
6e089f5f03 Support normalizing anyof/oneof enum constraints to a single enum (#21917)
* Support normalizing anyof/oneof enum constraints to a single enum

* Add SIMPLIFY_ONEOF_ANYOF_ENUM to the documentation

* Process referenced schemas with oneof/enum as well

* Implement referenced enum merging from oneof/anyof

* Implement retaining the enum description as x-enum-desriptions for oneof enum

* Update samples and docs with oneOf enum normalization

* update samples to fix python tests

* fix test file name

* fix incorrect filename

---------

Co-authored-by: Pieter Bos <pieter.bos@nedap.com>
2025-09-07 17:36:02 +08:00
CatBraaain
d8593ef6d7 style: add a space before comment text in .gitignore (#21844) 2025-08-31 22:35:54 +08:00
William Cheng
20be2decde Prepare v7.16.0 release (#21794)
* Revert "v7.15.0 release (#21792)"

This reverts commit 2c816f89cb.

* prepare 7.15.0 release

* update samples
2025-08-22 19:17:23 +08:00
jack-edmonds-dd
caf53ac6c4 Fix overly permissive regular expression. (#21777) 2025-08-21 13:44:49 +08:00
Espen Haugsdal
43d58ee9b0 Use Python uuid.UUID instead of StrictStr (#21740) 2025-08-17 22:25:53 +08:00
Pascal Bachor
c4a7c14c8f python: Reinstate lazy imports (#21486)
* python: reinstate lazy imports

* python: Update samples

---------

Co-authored-by: Pascal Bachor <bachorp@users.noreply.github.com>
2025-07-16 15:53:38 +08:00
William Cheng
046be5dba1 Prepare 7.15.0 (#21445)
* Revert "v7.14.0 release (#21443)"

This reverts commit 5eb083e5ce.

* prepare v7.15.0 snapshot

* update samples

* update readme

* update doc
2025-06-25 21:34:58 +08:00
William Cheng
4cfc8eff00 Add tests for enum names with dots in python cilents (#21374)
* add tests for enum names with dot

* remove file

* apply same fix to python pydantic v1

* update test
2025-06-04 16:18:10 +08:00
William Cheng
d2196dd727 use poetry 1.x in python aiohttp client (#21328) 2025-05-25 22:43:22 +08:00
Youri Westerman
041d36c954 [python] Fix poetry deprecation warnings (#21268)
* Convert pyproject.toml template to the format expected by Poetry >=2.0
(https://python-poetry.org/blog/announcing-poetry-2.0.0)

* Update samples

* Add option to fallback to Poetry 1.x style pyproject.toml

* Generate new docs and samples

* Place project.urls section a bit further down, so that it doesn't clash with other sections

* Update samples
2025-05-25 21:16:31 +08:00
Youri Westerman
4379a23608 [python] Explicitly define github workflow permissions (#21311)
* Explicitly define github workflow permissions (python)

* Update samples
2025-05-22 10:21:19 +08:00
Tassilo Karge
894008f325 [Python] Correct sanitize_for_serialization in python generator for list in oneOf schema elements, fixes #18106 (#19405)
* correct sanitize_for_serialization in python generator, fixes #18106

The method did not consider the objects created for oneOf schemata. If one of the cases was a list, to_dict would return it instead of something that has an items() method.

* generate new samples
2025-05-20 16:26:38 +08:00
William Cheng
5f63385a31 Provide " as member" where needed (#21304)
* fix: #20878 Provide " as member" where needed

- Generate new samples
- Add tests for all effected python versions
- Ran tests with success

Commands used to verify:
./bin/generate-samples.sh ./bin/configs/python*
mvn verify -Psamples
mvn integration-test -f modules/openapi-generator/pom.xml -Dtest=org.openapitools.codegen.python.PythonPydanticV1ClientCodegenTest -e
mvn integration-test -f modules/openapi-generator/pom.xml -Dtest=org.openapitools.codegen.python.PythonClientCodegenTest -e

* remove 3.8 tests

* use localhost

* update tests

* update test

---------

Co-authored-by: Robert Plummer <rplummer@sequel.ae>
2025-05-20 16:25:11 +08:00
Juanpe Araque
f2813716fb [Python] Add __all__ variable in the package __init__.py file for Python APIs (#21185)
* Add __all__ to the package __init__.py file for Python APIs

* Remove empty line before closing bracket

* Add missing samples
2025-05-07 15:59:49 +08:00
William Cheng
dbf720c093 Prepare 7.14.0 release (#21159)
* Revert "v7.13.0 release (#21157)"

This reverts commit 4b805ff6b7.

* prepare v7.14.0 release

* update samples
2025-04-27 22:04:03 +08:00
PidgeyBE
72de5bc952 [Python] Fix the post processing of string enums (#20976)
* fix/ x-enum-varnames in python

* make x-enum-varnames examples more clear

* make x enum varname usage more explicit

* fix tests

* trigger tests

* trigger tests once again...

* fix more tests
2025-04-23 15:45:44 +08:00
Youri Westerman
73b6b7084f Drop python 3.8 support python 3.13 in python generator (#20909)
* Drop support for python 3.8 and add support for 3.13 in python generator templates

* Update docs

* Test samples without python 3.8 and with 3.13

* Generate samples
2025-03-23 18:10:32 +08:00
Robinsstudio
02307dbf0c fix: #20826 Update urllib3 requirement for Python generator (#20845)
* fix: #20826 Update urllib3 requirement for Python generator

* Fix test to use localhost instead of petstore.swagger.io
2025-03-17 18:26:57 +08:00
William Cheng
a79aad8420 Prepare 7.13.0 (#20758)
* Revert "v7.12.0 release"

This reverts commit 073723cb4d.

* set version to v7.13.0-SNAPSHOT

* update samples

* update doc
2025-02-28 13:48:36 +08:00
micolous
30787a16fb [Python] Add ca_cert_data parameter (#20697)
* Add `ca_cert_data` parameter to Python client.

This lets a client validate a server's CA certificate chain using a
variable/constant containing PEM (`str`) or DER (`bytes`) data, rather than
needing to reference a file on disk.

* python: Fix `ca_cert_data` on Python 3.8
2025-02-26 16:04:32 +08:00
Sylvain Joubert
0ff8c46595 [Python] Fix mustache tag syntax in github worklow (#20701) 2025-02-21 17:43:17 +08:00
Jonathan Martens
890c37fd77 fix: display of markdown in notes section (#20534)
* fix: display of markdown in notes section

* update samples

* skip blank lines

---------

Co-authored-by: William Cheng <wing328hk@gmail.com>
2025-02-19 17:15:29 +08:00
William Cheng
1fa07bf46c Prepare 7.12.0 (#20512)
* Revert "v7.11.0 release (#20508)"

This reverts commit a7240eeefe.

* prepare 7.12.0 snapshot version

* update samples

* update readme
2025-01-21 00:10:09 +08:00
Pascal Bachor
61bdc6bf84 [Python] adjust multi-constraint dependency syntax to comply with PEP 508 (#20458)
Co-authored-by: Pascal Bachor <bachorp@users.noreply.github.com>
2025-01-14 12:44:46 +08:00
Yousef Haggy
7a23ac7615 [Python] Bug Fix - model_generic templates to have valid imports for polymorphism (#20273)
* fix model_generic python templates to have valid imports for polymorphism

* update samples

* update samples

---------

Co-authored-by: yugi <yugi-big@proton.me>
2025-01-09 11:40:47 +08:00
William Cheng
85c81bee5b [python] Close test API clients (#20400)
* close api client

* update samples

* update python pydantic v1 test files

* update python disallow additional property tests

* update python tests

* update python tests

* update python aiohttp tests

* update python pydantic aiohttp tests

* update python pydantic v1 tests

* revert sync teardown

* update python disallow tests

* update FILES

* update python echo api tests

* update python tests

---------

Co-authored-by: Huan-Cheng Chang <changhc84@gmail.com>
2025-01-04 17:08:29 +08:00
William Cheng
bd8cd8bf9f update python samples 2024-12-30 11:54:55 +08:00
loic-seguin
b01c8be47f bugfix: generate correct setup.pi when no paths are specified (#20098) 2024-12-17 10:58:26 +08:00
Dan Čermák
cdfab4eee3 [python,aiohttp] Don't create persistent aiohttp.ClientSession in __init__ (#20292)
aiohttp's `ClientSession` & `TCPConnector` used to obtain an event loop in
__init__ (via `asyncio.get_event_loop`). However, as of https://github.com/aio-libs/aiohttp/pull/8512 both
classes now obtain the running event loop and won't potentially create one. This
makes it impossible to create `ClientSession` and `TCPConnector` objects outside
of coroutines, as `get_running_loop` must be called from a coroutine.

Thus we defer the creation of a `ClientSession` into the actual request and
cache it for later usage. Thereby we pay only a very small price on the first
request, but subsequent requests will not be any more expensive.
2024-12-15 17:11:35 +08:00
jops-wtakase
7b35613cfc [python] Encode list query params (#20148)
* Bugfix: #17688: Encode list query params

* Test: #17688: Update validation error message tests for Pydantic 2.10+

Pydantic 2.10+ introduced changes to validation error messages,
requiring updates to the affected test cases.
2024-11-26 23:53:12 +08:00
William Cheng
654f62ce3c Prepare 7.11.0 (#20130)
* Revert "prepare 7.10.0 release (#20128)"

This reverts commit 12dfe8fe74.

* update to 7.11.0-SNAPSHOT, update samples

* update docs
2024-11-18 20:15:29 +08:00
William Cheng
02847e9323 Update minimum supported version of python in docs to 3.8+ (#20118)
* Update minimum supported version of python in docs

* update samples, docs

---------

Co-authored-by: Hugo Posnic <hugo.posnic@protonmail.com>
2024-11-16 18:01:50 +08:00
Jonathan Ballet
57cfff1950 python: stronger typing for the "configuration" module (#20014)
* python: strong typing for the configuration module

* 3.8 compatibility

* fix bearer format

* Specific auth settings
2024-11-06 16:36:47 +08:00