* refactor: Clean up _response_types_map formatting
It matches black's behavior of having trailing commas now.
* test: Add test to reproduce #16967
* fix: deserialize responses even if no returnType
Closes#16967
* refactor: Simplify ApiException subclasses
* refactor: Move exception subtype choice to ApiException
* feat: Deserialize error responses and add to exceptions
* test: Add for error responses with model
For model classes with model_something fields, pydantic raises a warning by default:
`Field "model_something" has conflict with protected namespace "model_".`.
These warnings make no sense here, because most users of the generator have established APIs
that they cannot change to conform to pydantic's safety rules.
Pydantic will raise an error if we ever conflict with a current attribute like `model_dump`.
* Bump up the dart version.
* Add toString on enum.
* [dart-dio/json_serializable] Fix enum converter for non-string.
* [dart-dio/json_serializable] Bump up the dart version only json_serializable.
* [dart-dio/json_serializable] Rename enum value.
* chore: add test to show python bool url params are not lower case
* fix: python parameters_to_url_query template to properly detect booleans
* fix: typo in test
* fix: typo in test
* chore: update test name to snake case and be more descriptive
* [ruby|client] Fix unmarshalling errors of enums inside other objects
Ruby|Client autogenerated model classes for Enums do not expose openapi_one_of
method. Instead they expose openapi_any_of method like:
# List of class defined in anyOf (OpenAPI v3)
def openapi_any_of
[
:String
]
end
Both types (objects and enums) do respond to build() method.
* Regenerate samples
* [Ruby] Add support for gems metadata
This defaults to an empty hash, but can be overridden with any custom
object by the callers via the `gemMetadata` property.
* Regenerate samples
The gemspecs files will now include a metadata field
* Add support for all +json and +xml suffixed media types to generated Go client
* Export JsonCheck and XmlCheck and add external tests
* Remove client_test.mustache
* refactor: Use newlines in _with_http_info call
This prevents too-long lines and matches the style that
black would enforce.
* fix: Do not pydantic-validate function args twice
Closes#15757
* upgrade spring-boot-starter-parent
* upgrade springdoc and swagger-ui
* upgrade v3 swagger-annotations
* generate samples
* upgrade jackson
* fix spring cloud, remove temp comment
Putting "8" instead of "1.8" should be ok, because Spring Boot 3 requires Java 17 anyway, so it should be able to understand that 8 is the same as 1.8.
* generate samples
* upgrade JUnit 5, remove commons-io dependency, remove outdated samples/client/petstore/java/feign/feign10x/ files, generate samples
commons-io dependency was introduced in https://github.com/OpenAPITools/openapi-generator/pull/8484, but I don't see why it would be needed now or back then.
* update gson, generate samples
* update logback
* update feign
* update scribejava
* generate samples
* update httpmime
* okhttp-gson: update commons-lang & okhttp & junit-platform, remove mockito; generate samples
It seems Mockito is not used at all there.
* okhttp-gson: remove unnecessary sample files, generate sample files
* upgrade google-api-client & jersey-common, restore ClientTest, generate samples
* misc. upgrades in jersey2 and jersey3
jersey 3.1.3 is available already, but IntelliJ reports security problems in 3.1.3 and 3.1.2, so I used 3.1.1 instead.
* align some gradle&sbt files with poms, generate samples
* whitespace fix
* support the ability to create apis and models templates in specify folders using the config settings (folder)
* support the ability to create apis and models templates in specify folders using the config settings (folder)
* python: type generated client using Self
This doesn't offer a clear win but this helps for:
* Using modern types and making the typing intent clearer
* Decreasing the need for `from __future__ import annotations`, since a
class can now refer to itself without using its name
* Using more `cls` to automatically refer to the class, instead of
respecifying the class name every time
Self is available from Python 3.11 and is provided in typing_extensions
(since 4.0.0) as a fallback for older versions
See: https://peps.python.org/pep-0673/
See: https://github.com/python/typing_extensions/blob/main/CHANGELOG.md#added-in-version-400
* generate code
The aenum dependency didn't provide any specific improvements over the
stdlib's enum module.
aenum also doesn't provide typing information at the moment.
This removes one dependency and will help for completing the typing of
the generated client.
* In samples/openapi3/client/petstore/python, this reduces the mypy errors from 435 to 178 errors
* In samples/openapi3/client/petstore/python-aiohttp, this reduces the mypy errors from 381 to 124 errors
* In samples/client/echo_api/python, this reduces the mypy errors from 131 to 25 errors
* add float as reserved world
* clean up
* update samples
* Update modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/AbstractPythonCodegen.java
Co-authored-by: Jonathan Ballet <jon@multani.info>
* update doc
* uncomment test
---------
Co-authored-by: Jonathan Ballet <jon@multani.info>
* [python] fix TypeError
Signed-off-by: ふぁ <yuki@yuki0311.com>
* [python] update Private model attributes to Class vars
Signed-off-by: ふぁ <yuki@yuki0311.com>
* [python] rename the List of test cases to ListClass
Signed-off-by: ふぁ <yuki@yuki0311.com>
* [python] update samples
Signed-off-by: ふぁ <yuki@yuki0311.com>
* [python] rename the List of v1 test cases to ListClass
Signed-off-by: ふぁ <yuki@yuki0311.com>
* [python] rename the List of v1-aiohttp test cases to ListClass
Signed-off-by: ふぁ <yuki@yuki0311.com>
* update samples
---------
Signed-off-by: ふぁ <yuki@yuki0311.com>
Co-authored-by: William Cheng <wing328hk@gmail.com>
* python: improve type generation with more specific typing
* Annotate function parameters
* Remove unused imports
* remove unused files
* remove temporary hack
* remove lock file
* fix Annotated import
* support Python 3.7
* Regenerate code with typing-extensions
* Fix setup.py
* More Pydantic v2 compatibility
* depend on pydantic v2
* fix client_echo tests
* fix JSON serialization
* Fix references
* Skip circular dependency tests for now
* Temporarily hide the "float" property
The "float" property aliases the "float" type and completely breaks the
model: all the properties that were "float" now become the type of the
"float" property instead.
* Fix errors
* Import Literal from typing_extensions
* Fix GitHub Action workflows
* Fix Python 3.7 failure
* Fix quotes
* Apply suggestions from code review
* Fix tests
* split model imports from other modules imports
* fix workflow
* Comment the array unique items convertion, remove set translation
* Replace alias usage
* prioritize mapped discriminators over generated
* update samples with new ordering
* explain reason behind discriminator prioritization
* add new samples
* prioritize explicit mapping over any generated mappings
* update examples to reflect new logic
* update tests to reflect explicit mappings
* Copy the current Python generator into a "pydantic v1" generator
This generator will be deprecated over time and the normal generator will
focus on Pydantic v2.
* add missing doc
* add spring support for SSE conform specs
see https://github.com/OpenAPITools/openapi-generator/issues/6123 for the ongoing discussion
* extend generator option documentation
* applied review suggestions
* regenerated samples
* regenerated docu
* fix code style: removed tabs
* python: remove non-async code path from the aiohttp generator
This removes all the non-async code from the aiohttp generator:
* all the methods that should be asynchronous are marked as `async`
* the `async_req` parameter is gone; calls are directly awaitables now
* the async calls into a thread pool are gone and the thread pool is
gone too (now useless)
Closes: #15824Closes: #5539
Related: #763
Related: #3696
* Fix empty line
* remove more