openapi-python-generator 1.2.1.dev1757316547__tar.gz → 1.2.1.dev1757316968__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/PKG-INFO +1 -1
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/pyproject.toml +1 -1
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/setup.py +1 -1
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/model_generator.py +3 -1
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/service_generator.py +13 -5
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/LICENSE +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/README.md +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/__init__.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/__main__.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/common.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/generate_data.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/__init__.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/__init__.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/api_config_generator.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/common.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/generator.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/jinja_config.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/templates/aiohttp.jinja2 +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/templates/apiconfig.jinja2 +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/templates/apiconfig_pydantic_2.jinja2 +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/templates/enum.jinja2 +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/templates/httpx.jinja2 +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/templates/models.jinja2 +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/templates/models_pydantic_2.jinja2 +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/templates/requests.jinja2 +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/language_converters/python/templates/service.jinja2 +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/models.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/parsers/__init__.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/parsers/openapi_30.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/parsers/openapi_31.py +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/py.typed +0 -0
- {openapi_python_generator-1.2.1.dev1757316547 → openapi_python_generator-1.2.1.dev1757316968}/src/openapi_python_generator/version_detector.py +0 -0
|
@@ -32,7 +32,7 @@ entry_points = \
|
|
|
32
32
|
|
|
33
33
|
setup_kwargs = {
|
|
34
34
|
'name': 'openapi-python-generator',
|
|
35
|
-
'version': '1.2.1.
|
|
35
|
+
'version': '1.2.1.dev1757316968',
|
|
36
36
|
'description': 'Openapi Python Generator',
|
|
37
37
|
'long_description': "# Openapi Python Generator\n\n[][pypi_]\n[][status]\n[][python version]\n[][license]\n\n[][documentation]\n[][tests]\n[][codecov]\n\n[][pre-commit]\n[][black]\n\n[pypi_]: https://pypi.org/project/openapi-python-generator/\n[status]: https://pypi.org/project/openapi-python-generator/\n[python version]: https://pypi.org/project/openapi-python-generator\n[documentation]: https://marcomuellner.github.io/openapi-python-generator/\n[tests]: https://github.com/MarcoMuellner/openapi-python-generator/actions?workflow=Tests\n[codecov]: https://app.codecov.io/gh/MarcoMuellner/openapi-python-generator\n[pre-commit]: https://github.com/pre-commit/pre-commit\n[black]: https://github.com/psf/black\n\n\n\n---\n__Documentation:__ [here][documentation]\n\n---\n\n## Features\n\n- __Ease of use__. Provide input, output and the library, and the generator will do the rest.\n- __Type safety and type hinting.__ __OpenAPI python generator__ makes heavy use of pydantic models to provide type-safe data structures.\n- __Support for multiple rest frameworks.__ __OpenAPI python generator__ currently supports the following:\n - [httpx](https://pypi.org/project/httpx/)\n - [requests](https://pypi.org/project/requests/)\n - [aiohttp](https://pypi.org/project/aiohttp/)\n- __Async and sync code generation support__, depending on the framework. It will automatically create both for frameworks that support both.\n- __Easily extendable using Jinja2 templates__. The code is designed to be easily extendable and should support even more languages and frameworks in the future.\n- __Fully tested__. Every generated code is automatically tested against the OpenAPI spec and we have 100% coverage.\n- __Usage as CLI or as library__.\n\n## Requirements\n\n- Python 3.7+\n\n## Installation\n\nYou can install _Openapi Python Generator_ via [pip] from [PyPI]:\n\n```console\n$ pip install openapi-python-generator\n```\n\n## Usage\n\nPlease see the [Quick start page] for details.\n\n## Roadmap\n\n- Support for all commonly used http libraries in the python ecosystem (~~requests~~, urllib, ...)\n- Support for multiple languages\n- Support for multiple authentication schemes\n- Support custom themes\n\n## Contributing\n\nContributions are very welcome.\nTo learn more, see the [Contributor Guide].\n\n## License\n\nDistributed under the terms of the [MIT license][license],\n_Openapi Python Generator_ is free and open source software.\n\n## Issues\n\nIf you encounter any problems,\nplease [file an issue] along with a detailed description.\n\n## Credits\n\nSpecial thanks to the peeps from [openapi-schema-pydantic](https://github.com/kuimono/openapi-schema-pydantic),\nwhich already did a lot of the legwork by providing a pydantic schema for the OpenAPI 3.0.0+ specification.\n\nThis project was generated from [@cjolowicz]'s [Hypermodern Python Cookiecutter] template.\n\n[@cjolowicz]: https://github.com/cjolowicz\n[pypi]: https://pypi.org/\n[hypermodern python cookiecutter]: https://github.com/cjolowicz/cookiecutter-hypermodern-python\n[file an issue]: https://github.com/MarcoMuellner/openapi-python-generator/issues\n[pip]: https://pip.pypa.io/\n\n<!-- github-only -->\n\n[license]: https://github.com/MarcoMuellner/openapi-python-generator/blob/main/LICENSE\n[contributor guide]: https://github.com/MarcoMuellner/openapi-python-generator/blob/main/CONTRIBUTING.md\n[Quick start page]: https://marcomuellner.github.io/openapi-python-generator/quick_start/\n",
|
|
38
38
|
'author': 'Marco Müllner',
|
|
@@ -191,7 +191,9 @@ def type_converter( # noqa: C901
|
|
|
191
191
|
converted_type = pre_type + "bool" + post_type
|
|
192
192
|
elif schema.type == "array" or str(schema.type) == "DataType.ARRAY":
|
|
193
193
|
retVal = pre_type + "List["
|
|
194
|
-
if isinstance(schema.items, Reference30) or isinstance(
|
|
194
|
+
if isinstance(schema.items, Reference30) or isinstance(
|
|
195
|
+
schema.items, Reference31
|
|
196
|
+
):
|
|
195
197
|
converted_reference = _generate_property_from_reference(
|
|
196
198
|
model_name or "", "", schema.items, schema, required
|
|
197
199
|
)
|
|
@@ -61,7 +61,7 @@ def is_response_type(obj) -> bool:
|
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
def create_media_type_for_reference(
|
|
64
|
-
reference_obj: Union[Response30, Reference30
|
|
64
|
+
reference_obj: Union[Response30, Reference30, Response31, Reference31],
|
|
65
65
|
):
|
|
66
66
|
"""Create a MediaType wrapper for a reference object, using the correct version"""
|
|
67
67
|
# Check which version the reference object belongs to
|
|
@@ -96,7 +96,9 @@ def generate_body_param(operation: Operation) -> Union[str, None]:
|
|
|
96
96
|
if operation.requestBody is None:
|
|
97
97
|
return None
|
|
98
98
|
else:
|
|
99
|
-
if isinstance(operation.requestBody, Reference30) or isinstance(
|
|
99
|
+
if isinstance(operation.requestBody, Reference30) or isinstance(
|
|
100
|
+
operation.requestBody, Reference31
|
|
101
|
+
):
|
|
100
102
|
return "data.dict()"
|
|
101
103
|
|
|
102
104
|
if operation.requestBody.content is None:
|
|
@@ -156,18 +158,24 @@ def generate_params(operation: Operation) -> str:
|
|
|
156
158
|
required = False
|
|
157
159
|
param_name_cleaned = common.normalize_symbol(param.name)
|
|
158
160
|
|
|
159
|
-
if isinstance(param.param_schema, Schema30) or isinstance(
|
|
161
|
+
if isinstance(param.param_schema, Schema30) or isinstance(
|
|
162
|
+
param.param_schema, Schema31
|
|
163
|
+
):
|
|
160
164
|
converted_result = (
|
|
161
165
|
f"{param_name_cleaned} : {type_converter(param.param_schema, param.required).converted_type}"
|
|
162
166
|
+ ("" if param.required else " = None")
|
|
163
167
|
)
|
|
164
168
|
required = param.required
|
|
165
|
-
elif isinstance(param.param_schema, Reference30) or isinstance(
|
|
169
|
+
elif isinstance(param.param_schema, Reference30) or isinstance(
|
|
170
|
+
param.param_schema, Reference31
|
|
171
|
+
):
|
|
166
172
|
converted_result = (
|
|
167
173
|
f"{param_name_cleaned} : {param.param_schema.ref.split('/')[-1] }"
|
|
168
174
|
+ (
|
|
169
175
|
""
|
|
170
|
-
if isinstance(param, Reference30)
|
|
176
|
+
if isinstance(param, Reference30)
|
|
177
|
+
or isinstance(param, Reference31)
|
|
178
|
+
or param.required
|
|
171
179
|
else " = None"
|
|
172
180
|
)
|
|
173
181
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|