---
title: Documentation for the python Generator
---
## METADATA
| Property | Value | Notes |
| -------- | ----- | ----- |
| generator name | python | pass this to the generate command after -g |
| generator stability | STABLE | |
| generator type | CLIENT | |
| generator language | Python | |
| generator language version | >=3.6 | |
| 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 |
| ------ | ----------- | ------ | ------- |
|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.|
**false**
The 'additionalProperties' implementation is compliant with the OAS and JSON schema specifications.
**true**
Keep the old (incorrect) behaviour that 'additionalProperties' is set to false by default. NOTE: this option breaks composition and will be removed in 6.0.0
|false|
|generateSourceCodeOnly|Specifies that only a library source code is to be generated.| |false|
|hideGenerationTimestamp|Hides the generation timestamp when files are generated.| |true|
|initRequiredVars|If set to true then the required variables are included as positional arguments in __init__ and _from_openapi_data methods. Note: this can break some composition use cases. To learn more read PR #8802.| |false|
|library|library template (sub-template) to use: asyncio, tornado, urllib3| |urllib3|
|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|
|pythonAttrNoneIfUnset|when accessing unset attribute, return `None` instead of raising `ApiAttributeError`| |false|
|recursionLimit|Set the recursion limit. If not set, use the system default value.| |null|
|useNose|use the nose test framework| |false|
## IMPORT MAPPING
| Type/Alias | Imports |
| ---------- | ------- |
## INSTANTIATION TYPES
| Type/Alias | Instantiated By |
| ---------- | --------------- |
## LANGUAGE PRIMITIVES
bool
bytes
date
datetime
dict
file
file_type
float
int
list
none_type
object
str
## RESERVED WORDS
all_params
and
as
assert
async
auth_settings
await
body_params
break
class
continue
def
del
elif
else
except
exec
false
finally
for
form_params
from
global
header_params
if
import
in
is
lambda
local_var_files
none
nonlocal
not
or
pass
path_params
print
property
query_params
raise
resource_path
return
self
true
try
while
with
yield
## 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
### Wire Format Feature
| Name | Supported | Defined By |
| ---- | --------- | ---------- |
|JSON||OAS2,OAS3
|XML||OAS2,OAS3
|PROTOBUF||ToolingExtension
|Custom||OAS2,OAS3