forked from OpenAPITools/openapi-generator
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
python: copy the current Python generator into a "pydantic v1" genera…
…tor (OpenAPITools#16656) * 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
- Loading branch information
1 parent
7fda033
commit ab4fd71
Showing
695 changed files
with
69,491 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
44 changes: 44 additions & 0 deletions
44
.github/workflows/samples-python-pydantic-v1-client-echo-api.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
name: Python Client pydantic v1 (Echo API) | ||
|
||
on: | ||
pull_request: | ||
paths: | ||
- samples/client/echo_api/python-pydantic-v1/** | ||
- .github/workflows/samples-python-pydantic-v1-client-echo-api.yaml | ||
|
||
jobs: | ||
build: | ||
name: Test Python client | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
sample: | ||
# clients | ||
- samples/client/echo_api/python | ||
python-version: | ||
- "3.7" | ||
- "3.8" | ||
- "3.9" | ||
- "3.10" | ||
- "3.11" | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-python@v4 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Setup node.js | ||
uses: actions/setup-node@v3 | ||
- name: Run echo server | ||
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 | ||
working-directory: ${{ matrix.sample }} | ||
run: | | ||
pip install -r requirements.txt | ||
pip install -r test-requirements.txt | ||
- name: Test | ||
working-directory: ${{ matrix.sample }} | ||
run: python -m pytest |
59 changes: 59 additions & 0 deletions
59
.github/workflows/samples-python-pydantic-v1-petstore.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
name: "Python Client pydantic v1: Petstore" | ||
|
||
on: | ||
pull_request: | ||
paths: | ||
- samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/** | ||
- samples/openapi3/client/petstore/python-pydantic-v1/** | ||
- .github/workflows/samples-python-pydantic-v1-petstore.yaml | ||
|
||
jobs: | ||
build: | ||
name: Test Python client | ||
runs-on: ubuntu-latest | ||
strategy: | ||
fail-fast: false | ||
matrix: | ||
python-version: | ||
- "3.7" | ||
- "3.8" | ||
- "3.9" | ||
- "3.10" | ||
- "3.11" | ||
sample: | ||
- samples/openapi3/client/petstore/python-aiohttp | ||
- samples/openapi3/client/petstore/python | ||
services: | ||
petstore-api: | ||
image: swaggerapi/petstore | ||
ports: | ||
- 80:8080 | ||
env: | ||
SWAGGER_HOST: http://petstore.swagger.io | ||
SWAGGER_BASE_PATH: /v2 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-python@v4 | ||
id: py | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
|
||
- name: Cache | ||
uses: actions/cache@v3 | ||
with: | ||
key: ${{ runner.os }}-python-${{ steps.py.outputs.python-version }}- | ||
path: | | ||
~/.cache/pypoetry/virtualenvs/ | ||
~/.local/pipx/venvs/poetry/ | ||
.mypy_cache/ | ||
- name: Install poetry | ||
run: pipx install --python '${{ steps.py.outputs.python-path }}' poetry | ||
|
||
- name: Install | ||
working-directory: ${{ matrix.sample }} | ||
run: poetry install | ||
|
||
- name: Test | ||
working-directory: ${{ matrix.sample }} | ||
run: poetry run pytest -v |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
generatorName: python-pydantic-v1 | ||
outputDir: samples/openapi3/client/petstore/python-pydantic-v1-aiohttp | ||
inputSpec: modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml | ||
templateDir: modules/openapi-generator/src/main/resources/python-pydantic-v1 | ||
library: asyncio | ||
additionalProperties: | ||
packageName: petstore_api | ||
mapNumberTo: float |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
generatorName: python-pydantic-v1 | ||
outputDir: samples/client/echo_api/python-pydantic-v1 | ||
inputSpec: modules/openapi-generator/src/test/resources/3_0/echo_api.yaml | ||
templateDir: modules/openapi-generator/src/main/resources/python-pydantic-v1 | ||
additionalProperties: | ||
hideGenerationTimestamp: "true" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
generatorName: python-pydantic-v1 | ||
outputDir: samples/openapi3/client/petstore/python-pydantic-v1 | ||
inputSpec: modules/openapi-generator/src/test/resources/3_0/python/petstore-with-fake-endpoints-models-for-testing.yaml | ||
templateDir: modules/openapi-generator/src/main/resources/python-pydantic-v1 | ||
additionalProperties: | ||
packageName: petstore_api | ||
useOneOfDiscriminatorLookup: "true" | ||
disallowAdditionalPropertiesIfNotPresent: false | ||
mapNumberTo: StrictFloat | ||
nameMappings: | ||
_type: underscore_type | ||
type_: type_with_underscore |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,232 @@ | ||
--- | ||
title: Documentation for the python-pydantic-v1 Generator | ||
--- | ||
|
||
## METADATA | ||
|
||
| Property | Value | Notes | | ||
| -------- | ----- | ----- | | ||
| generator name | python-pydantic-v1 | pass this to the generate command after -g | | ||
| generator stability | STABLE | | | ||
| generator type | CLIENT | | | ||
| generator language | Python | | | ||
| generator language version | 3.7+ | | | ||
| generator default templating engine | mustache | | | ||
| helpTxt | Generates a Python client library. | | | ||
|
||
## CONFIG OPTIONS | ||
These options may be applied as additional-properties (cli) or configOptions (plugins). Refer to [configuration docs](https://openapi-generator.tech/docs/configuration) for more details. | ||
|
||
| Option | Description | Values | Default | | ||
| ------ | ----------- | ------ | ------- | | ||
|dateFormat|date format for query parameters| |%Y-%m-%d| | ||
|datetimeFormat|datetime format for query parameters| |%Y-%m-%dT%H:%M:%S%z| | ||
|disallowAdditionalPropertiesIfNotPresent|If false, the 'additionalProperties' implementation (set to true by default) is compliant with the OAS and JSON schema specifications. If true (default), keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.|<dl><dt>**false**</dt><dd>The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications.</dd><dt>**true**</dt><dd>Keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default.</dd></dl>|true| | ||
|generateSourceCodeOnly|Specifies that only a library source code is to be generated.| |false| | ||
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true| | ||
|library|library template (sub-template) to use: asyncio, tornado (deprecated), urllib3| |urllib3| | ||
|mapNumberTo|Map number to Union[StrictFloat, StrictInt], StrictStr or float.| |Union[StrictFloat, StrictInt]| | ||
|packageName|python package name (convention: snake_case).| |openapi_client| | ||
|packageUrl|python package URL.| |null| | ||
|packageVersion|python package version.| |1.0.0| | ||
|projectName|python project name in setup.py (e.g. petstore-api).| |null| | ||
|recursionLimit|Set the recursion limit. If not set, use the system default value.| |null| | ||
|useOneOfDiscriminatorLookup|Use the discriminator's mapping in oneOf to speed up the model lookup. IMPORTANT: Validation (e.g. one and only one match in oneOf's schemas) will be skipped.| |false| | ||
|
||
## IMPORT MAPPING | ||
|
||
| Type/Alias | Imports | | ||
| ---------- | ------- | | ||
|
||
|
||
## INSTANTIATION TYPES | ||
|
||
| Type/Alias | Instantiated By | | ||
| ---------- | --------------- | | ||
|
||
|
||
## LANGUAGE PRIMITIVES | ||
|
||
<ul class="column-ul"> | ||
<li>Dict</li> | ||
<li>List</li> | ||
<li>bool</li> | ||
<li>bytearray</li> | ||
<li>bytes</li> | ||
<li>date</li> | ||
<li>datetime</li> | ||
<li>decimal.Decimal</li> | ||
<li>dict</li> | ||
<li>float</li> | ||
<li>int</li> | ||
<li>list</li> | ||
<li>none_type</li> | ||
<li>object</li> | ||
<li>str</li> | ||
</ul> | ||
|
||
## RESERVED WORDS | ||
|
||
<ul class="column-ul"> | ||
<li>and</li> | ||
<li>as</li> | ||
<li>assert</li> | ||
<li>async</li> | ||
<li>await</li> | ||
<li>base64</li> | ||
<li>break</li> | ||
<li>class</li> | ||
<li>continue</li> | ||
<li>date</li> | ||
<li>def</li> | ||
<li>del</li> | ||
<li>elif</li> | ||
<li>else</li> | ||
<li>except</li> | ||
<li>exec</li> | ||
<li>false</li> | ||
<li>finally</li> | ||
<li>for</li> | ||
<li>from</li> | ||
<li>global</li> | ||
<li>if</li> | ||
<li>import</li> | ||
<li>in</li> | ||
<li>is</li> | ||
<li>json</li> | ||
<li>lambda</li> | ||
<li>none</li> | ||
<li>nonlocal</li> | ||
<li>not</li> | ||
<li>or</li> | ||
<li>pass</li> | ||
<li>print</li> | ||
<li>property</li> | ||
<li>raise</li> | ||
<li>return</li> | ||
<li>schema</li> | ||
<li>self</li> | ||
<li>true</li> | ||
<li>try</li> | ||
<li>while</li> | ||
<li>with</li> | ||
<li>yield</li> | ||
</ul> | ||
|
||
## FEATURE SET | ||
|
||
|
||
### Client Modification Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|BasePath|✗|ToolingExtension | ||
|Authorizations|✗|ToolingExtension | ||
|UserAgent|✗|ToolingExtension | ||
|MockServer|✗|ToolingExtension | ||
|
||
### Data Type Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|Custom|✗|OAS2,OAS3 | ||
|Int32|✓|OAS2,OAS3 | ||
|Int64|✓|OAS2,OAS3 | ||
|Float|✓|OAS2,OAS3 | ||
|Double|✓|OAS2,OAS3 | ||
|Decimal|✓|ToolingExtension | ||
|String|✓|OAS2,OAS3 | ||
|Byte|✓|OAS2,OAS3 | ||
|Binary|✓|OAS2,OAS3 | ||
|Boolean|✓|OAS2,OAS3 | ||
|Date|✓|OAS2,OAS3 | ||
|DateTime|✓|OAS2,OAS3 | ||
|Password|✓|OAS2,OAS3 | ||
|File|✓|OAS2 | ||
|Uuid|✗| | ||
|Array|✓|OAS2,OAS3 | ||
|Null|✗|OAS3 | ||
|AnyType|✗|OAS2,OAS3 | ||
|Object|✓|OAS2,OAS3 | ||
|Maps|✓|ToolingExtension | ||
|CollectionFormat|✓|OAS2 | ||
|CollectionFormatMulti|✓|OAS2 | ||
|Enum|✓|OAS2,OAS3 | ||
|ArrayOfEnum|✓|ToolingExtension | ||
|ArrayOfModel|✓|ToolingExtension | ||
|ArrayOfCollectionOfPrimitives|✓|ToolingExtension | ||
|ArrayOfCollectionOfModel|✓|ToolingExtension | ||
|ArrayOfCollectionOfEnum|✓|ToolingExtension | ||
|MapOfEnum|✓|ToolingExtension | ||
|MapOfModel|✓|ToolingExtension | ||
|MapOfCollectionOfPrimitives|✓|ToolingExtension | ||
|MapOfCollectionOfModel|✓|ToolingExtension | ||
|MapOfCollectionOfEnum|✓|ToolingExtension | ||
|
||
### Documentation Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|Readme|✓|ToolingExtension | ||
|Model|✓|ToolingExtension | ||
|Api|✓|ToolingExtension | ||
|
||
### Global Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|Host|✓|OAS2,OAS3 | ||
|BasePath|✓|OAS2,OAS3 | ||
|Info|✓|OAS2,OAS3 | ||
|Schemes|✗|OAS2,OAS3 | ||
|PartialSchemes|✓|OAS2,OAS3 | ||
|Consumes|✓|OAS2 | ||
|Produces|✓|OAS2 | ||
|ExternalDocumentation|✓|OAS2,OAS3 | ||
|Examples|✓|OAS2,OAS3 | ||
|XMLStructureDefinitions|✗|OAS2,OAS3 | ||
|MultiServer|✗|OAS3 | ||
|ParameterizedServer|✗|OAS3 | ||
|ParameterStyling|✗|OAS3 | ||
|Callbacks|✗|OAS3 | ||
|LinkObjects|✗|OAS3 | ||
|
||
### Parameter Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|Path|✓|OAS2,OAS3 | ||
|Query|✓|OAS2,OAS3 | ||
|Header|✓|OAS2,OAS3 | ||
|Body|✓|OAS2 | ||
|FormUnencoded|✓|OAS2 | ||
|FormMultipart|✓|OAS2 | ||
|Cookie|✗|OAS3 | ||
|
||
### Schema Support Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|Simple|✓|OAS2,OAS3 | ||
|Composite|✓|OAS2,OAS3 | ||
|Polymorphism|✓|OAS2,OAS3 | ||
|Union|✗|OAS3 | ||
|allOf|✓|OAS2,OAS3 | ||
|anyOf|✓|OAS3 | ||
|oneOf|✓|OAS3 | ||
|not|✗|OAS3 | ||
|
||
### Security Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|BasicAuth|✓|OAS2,OAS3 | ||
|ApiKey|✓|OAS2,OAS3 | ||
|OpenIDConnect|✗|OAS3 | ||
|BearerToken|✓|OAS3 | ||
|OAuth2_Implicit|✓|OAS2,OAS3 | ||
|OAuth2_Password|✗|OAS2,OAS3 | ||
|OAuth2_ClientCredentials|✗|OAS2,OAS3 | ||
|OAuth2_AuthorizationCode|✗|OAS2,OAS3 | ||
|SignatureAuth|✓|OAS3 | ||
|
||
### Wire Format Feature | ||
| Name | Supported | Defined By | | ||
| ---- | --------- | ---------- | | ||
|JSON|✓|OAS2,OAS3 | ||
|XML|✓|OAS2,OAS3 | ||
|PROTOBUF|✗|ToolingExtension | ||
|Custom|✓|OAS2,OAS3 |
Oops, something went wrong.