From 54c0ebdf829765289efb392ad4eef822780875a1 Mon Sep 17 00:00:00 2001 From: Pascal Bachor Date: Fri, 30 May 2025 03:46:47 +0000 Subject: [PATCH 1/2] python: reinstate lazy imports --- .../resources/python/__init__api.mustache | 16 ++++++-- .../resources/python/__init__model.mustache | 19 +++++++--- .../resources/python/__init__package.mustache | 38 ++++++++----------- .../resources/python/exports_api.mustache | 3 ++ .../resources/python/exports_model.mustache | 3 ++ .../resources/python/exports_package.mustache | 20 ++++++++++ .../main/resources/python/pyproject.mustache | 4 +- .../resources/python/requirements.mustache | 1 + .../src/main/resources/python/setup.mustache | 1 + 9 files changed, 72 insertions(+), 33 deletions(-) create mode 100644 modules/openapi-generator/src/main/resources/python/exports_api.mustache create mode 100644 modules/openapi-generator/src/main/resources/python/exports_model.mustache create mode 100644 modules/openapi-generator/src/main/resources/python/exports_package.mustache diff --git a/modules/openapi-generator/src/main/resources/python/__init__api.mustache b/modules/openapi-generator/src/main/resources/python/__init__api.mustache index 8870835c81ef..b67117ea58f5 100644 --- a/modules/openapi-generator/src/main/resources/python/__init__api.mustache +++ b/modules/openapi-generator/src/main/resources/python/__init__api.mustache @@ -1,5 +1,15 @@ # flake8: noqa -# import apis into api package -{{#apiInfo}}{{#apis}}from {{apiPackage}}.{{classFilename}} import {{classname}} -{{/apis}}{{/apiInfo}} +if __import__("typing").TYPE_CHECKING: + {{>exports_api}} +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + """{{>exports_api}}""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/modules/openapi-generator/src/main/resources/python/__init__model.mustache b/modules/openapi-generator/src/main/resources/python/__init__model.mustache index ce1a534837de..7e40f3fcf35d 100644 --- a/modules/openapi-generator/src/main/resources/python/__init__model.mustache +++ b/modules/openapi-generator/src/main/resources/python/__init__model.mustache @@ -4,9 +4,16 @@ {{>partial_header}} -# import models into model package -{{#models}} -{{#model}} -from {{modelPackage}}.{{classFilename}} import {{classname}} -{{/model}} -{{/models}} +if __import__("typing").TYPE_CHECKING: + {{>exports_model}} +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + """{{>exports_model}}""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/modules/openapi-generator/src/main/resources/python/__init__package.mustache b/modules/openapi-generator/src/main/resources/python/__init__package.mustache index 1aaa9ef62d94..7d1cb6943a0e 100644 --- a/modules/openapi-generator/src/main/resources/python/__init__package.mustache +++ b/modules/openapi-generator/src/main/resources/python/__init__package.mustache @@ -24,29 +24,21 @@ __all__ = [ {{/-last}}{{#-last}},{{/-last}}{{/model}}{{/models}} ] -# import apis into sdk package -{{#apiInfo}}{{#apis}}from {{apiPackage}}.{{classFilename}} import {{classname}} as {{classname}} -{{/apis}}{{/apiInfo}} -# import ApiClient -from {{packageName}}.api_response import ApiResponse as ApiResponse -from {{packageName}}.api_client import ApiClient as ApiClient -from {{packageName}}.configuration import Configuration as Configuration -from {{packageName}}.exceptions import OpenApiException as OpenApiException -from {{packageName}}.exceptions import ApiTypeError as ApiTypeError -from {{packageName}}.exceptions import ApiValueError as ApiValueError -from {{packageName}}.exceptions import ApiKeyError as ApiKeyError -from {{packageName}}.exceptions import ApiAttributeError as ApiAttributeError -from {{packageName}}.exceptions import ApiException as ApiException -{{#hasHttpSignatureMethods}} -from {{packageName}}.signing import HttpSigningConfiguration as HttpSigningConfiguration -{{/hasHttpSignatureMethods}} - -# import models into sdk package -{{#models}} -{{#model}} -from {{modelPackage}}.{{classFilename}} import {{classname}} as {{classname}} -{{/model}} -{{/models}} +if __import__("typing").TYPE_CHECKING: + {{>exports_package}} +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + ("__version__", __version__), + ("__all__", __all__), + """{{>exports_package}}""", + name=__name__, + doc=__doc__, + ) + ) {{#recursionLimit}} __import__('sys').setrecursionlimit({{{.}}}) diff --git a/modules/openapi-generator/src/main/resources/python/exports_api.mustache b/modules/openapi-generator/src/main/resources/python/exports_api.mustache new file mode 100644 index 000000000000..8eead04ab0fd --- /dev/null +++ b/modules/openapi-generator/src/main/resources/python/exports_api.mustache @@ -0,0 +1,3 @@ +# import apis into api package +{{#apiInfo}}{{#apis}}from {{apiPackage}}.{{classFilename}} import {{classname}} +{{/apis}}{{/apiInfo}} diff --git a/modules/openapi-generator/src/main/resources/python/exports_model.mustache b/modules/openapi-generator/src/main/resources/python/exports_model.mustache new file mode 100644 index 000000000000..60dc9c65775c --- /dev/null +++ b/modules/openapi-generator/src/main/resources/python/exports_model.mustache @@ -0,0 +1,3 @@ +# import models into model package +{{#models}}{{#model}}from {{modelPackage}}.{{classFilename}} import {{classname}} +{{/model}}{{/models}} diff --git a/modules/openapi-generator/src/main/resources/python/exports_package.mustache b/modules/openapi-generator/src/main/resources/python/exports_package.mustache new file mode 100644 index 000000000000..96bd44ecb1f8 --- /dev/null +++ b/modules/openapi-generator/src/main/resources/python/exports_package.mustache @@ -0,0 +1,20 @@ +# import apis into sdk package +{{#apiInfo}}{{#apis}}from {{apiPackage}}.{{classFilename}} import {{classname}} as {{classname}} +{{/apis}}{{/apiInfo}} +# import ApiClient +from {{packageName}}.api_response import ApiResponse as ApiResponse +from {{packageName}}.api_client import ApiClient as ApiClient +from {{packageName}}.configuration import Configuration as Configuration +from {{packageName}}.exceptions import OpenApiException as OpenApiException +from {{packageName}}.exceptions import ApiTypeError as ApiTypeError +from {{packageName}}.exceptions import ApiValueError as ApiValueError +from {{packageName}}.exceptions import ApiKeyError as ApiKeyError +from {{packageName}}.exceptions import ApiAttributeError as ApiAttributeError +from {{packageName}}.exceptions import ApiException as ApiException +{{#hasHttpSignatureMethods}} +from {{packageName}}.signing import HttpSigningConfiguration as HttpSigningConfiguration +{{/hasHttpSignatureMethods}} + +# import models into sdk package +{{#models}}{{#model}}from {{modelPackage}}.{{classFilename}} import {{classname}} as {{classname}} +{{/model}}{{/models}} diff --git a/modules/openapi-generator/src/main/resources/python/pyproject.mustache b/modules/openapi-generator/src/main/resources/python/pyproject.mustache index fc949dffbc27..d5b2826be9a2 100644 --- a/modules/openapi-generator/src/main/resources/python/pyproject.mustache +++ b/modules/openapi-generator/src/main/resources/python/pyproject.mustache @@ -43,6 +43,7 @@ pycryptodome = ">= 3.9.0" {{/hasHttpSignatureMethods}} pydantic = ">= 2" typing-extensions = ">= 4.7.1" +lazy-imports = ">= 1, < 2" {{/poetry1}} {{^poetry1}} requires-python = ">=3.9" @@ -62,7 +63,8 @@ dependencies = [ "pycryptodome (>=3.9.0)", {{/hasHttpSignatureMethods}} "pydantic (>=2)", - "typing-extensions (>=4.7.1)" + "typing-extensions (>=4.7.1)", + "lazy-imports (>=1,<2)" ] [project.urls] diff --git a/modules/openapi-generator/src/main/resources/python/requirements.mustache b/modules/openapi-generator/src/main/resources/python/requirements.mustache index a936e455bea5..82b57e8c9c22 100644 --- a/modules/openapi-generator/src/main/resources/python/requirements.mustache +++ b/modules/openapi-generator/src/main/resources/python/requirements.mustache @@ -13,3 +13,4 @@ pycryptodome >= 3.9.0 {{/hasHttpSignatureMethods}} pydantic >= 2 typing-extensions >= 4.7.1 +lazy-imports >= 1, < 2 diff --git a/modules/openapi-generator/src/main/resources/python/setup.mustache b/modules/openapi-generator/src/main/resources/python/setup.mustache index cb1574274ec6..9540d4ba8448 100644 --- a/modules/openapi-generator/src/main/resources/python/setup.mustache +++ b/modules/openapi-generator/src/main/resources/python/setup.mustache @@ -30,6 +30,7 @@ REQUIRES = [ {{/hasHttpSignatureMethods}} "pydantic >= 2", "typing-extensions >= 4.7.1", + "lazy-imports >= 1, < 2", ] setup( From e3697b69741f650d5f61dab2967531620b893275 Mon Sep 17 00:00:00 2001 From: Pascal Bachor Date: Sun, 29 Jun 2025 09:41:32 +0000 Subject: [PATCH 2/2] python: Update samples --- .../openapi_client/__init__.py | 50 +++++- .../openapi_client/api/__init__.py | 22 ++- .../openapi_client/models/__init__.py | 29 +++- .../pyproject.toml | 3 +- .../requirements.txt | 1 + .../setup.py | 1 + .../python/openapi_client/__init__.py | 50 +++++- .../python/openapi_client/api/__init__.py | 22 ++- .../python/openapi_client/models/__init__.py | 29 +++- samples/client/echo_api/python/pyproject.toml | 3 +- .../client/echo_api/python/requirements.txt | 1 + samples/client/echo_api/python/setup.py | 1 + .../python-aiohttp/petstore_api/__init__.py | 151 +++++++++++++++++- .../petstore_api/api/__init__.py | 24 ++- .../petstore_api/models/__init__.py | 127 ++++++++++++++- .../petstore/python-aiohttp/pyproject.toml | 1 + .../petstore/python-aiohttp/requirements.txt | 1 + .../client/petstore/python-aiohttp/setup.py | 1 + .../petstore/python/petstore_api/__init__.py | 151 +++++++++++++++++- .../python/petstore_api/api/__init__.py | 24 ++- .../python/petstore_api/models/__init__.py | 127 ++++++++++++++- .../client/petstore/python/pyproject.toml | 3 +- .../client/petstore/python/requirements.txt | 1 + .../openapi3/client/petstore/python/setup.py | 1 + 24 files changed, 809 insertions(+), 15 deletions(-) diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/__init__.py b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/__init__.py index 5da36103dcbb..a4a081020d9e 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/__init__.py +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/__init__.py @@ -48,7 +48,49 @@ "TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter", ] -# import apis into sdk package +if __import__("typing").TYPE_CHECKING: + # import apis into sdk package + from openapi_client.api.auth_api import AuthApi as AuthApi + from openapi_client.api.body_api import BodyApi as BodyApi + from openapi_client.api.form_api import FormApi as FormApi + from openapi_client.api.header_api import HeaderApi as HeaderApi + from openapi_client.api.path_api import PathApi as PathApi + from openapi_client.api.query_api import QueryApi as QueryApi + + # import ApiClient + from openapi_client.api_response import ApiResponse as ApiResponse + from openapi_client.api_client import ApiClient as ApiClient + from openapi_client.configuration import Configuration as Configuration + from openapi_client.exceptions import OpenApiException as OpenApiException + from openapi_client.exceptions import ApiTypeError as ApiTypeError + from openapi_client.exceptions import ApiValueError as ApiValueError + from openapi_client.exceptions import ApiKeyError as ApiKeyError + from openapi_client.exceptions import ApiAttributeError as ApiAttributeError + from openapi_client.exceptions import ApiException as ApiException + + # import models into sdk package + from openapi_client.models.bird import Bird as Bird + from openapi_client.models.category import Category as Category + from openapi_client.models.data_query import DataQuery as DataQuery + from openapi_client.models.default_value import DefaultValue as DefaultValue + from openapi_client.models.number_properties_only import NumberPropertiesOnly as NumberPropertiesOnly + from openapi_client.models.pet import Pet as Pet + from openapi_client.models.query import Query as Query + from openapi_client.models.string_enum_ref import StringEnumRef as StringEnumRef + from openapi_client.models.tag import Tag as Tag + from openapi_client.models.test_form_object_multipart_request_marker import TestFormObjectMultipartRequestMarker as TestFormObjectMultipartRequestMarker + from openapi_client.models.test_query_style_deep_object_explode_true_object_all_of_query_object_parameter import TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter as TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter + from openapi_client.models.test_query_style_form_explode_true_array_string_query_object_parameter import TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter as TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + ("__version__", __version__), + ("__all__", __all__), + """# import apis into sdk package from openapi_client.api.auth_api import AuthApi as AuthApi from openapi_client.api.body_api import BodyApi as BodyApi from openapi_client.api.form_api import FormApi as FormApi @@ -80,3 +122,9 @@ from openapi_client.models.test_form_object_multipart_request_marker import TestFormObjectMultipartRequestMarker as TestFormObjectMultipartRequestMarker from openapi_client.models.test_query_style_deep_object_explode_true_object_all_of_query_object_parameter import TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter as TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter from openapi_client.models.test_query_style_form_explode_true_array_string_query_object_parameter import TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter as TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter + +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/api/__init__.py b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/api/__init__.py index 9c9ae790c3b0..c55dee436e1f 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/api/__init__.py +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/api/__init__.py @@ -1,6 +1,21 @@ # flake8: noqa -# import apis into api package +if __import__("typing").TYPE_CHECKING: + # import apis into api package + from openapi_client.api.auth_api import AuthApi + from openapi_client.api.body_api import BodyApi + from openapi_client.api.form_api import FormApi + from openapi_client.api.header_api import HeaderApi + from openapi_client.api.path_api import PathApi + from openapi_client.api.query_api import QueryApi + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + """# import apis into api package from openapi_client.api.auth_api import AuthApi from openapi_client.api.body_api import BodyApi from openapi_client.api.form_api import FormApi @@ -8,3 +23,8 @@ from openapi_client.api.path_api import PathApi from openapi_client.api.query_api import QueryApi +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/models/__init__.py b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/models/__init__.py index f070f6323167..abd67e38090a 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/models/__init__.py +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/openapi_client/models/__init__.py @@ -14,7 +14,28 @@ """ # noqa: E501 -# import models into model package +if __import__("typing").TYPE_CHECKING: + # import models into model package + from openapi_client.models.bird import Bird + from openapi_client.models.category import Category + from openapi_client.models.data_query import DataQuery + from openapi_client.models.default_value import DefaultValue + from openapi_client.models.number_properties_only import NumberPropertiesOnly + from openapi_client.models.pet import Pet + from openapi_client.models.query import Query + from openapi_client.models.string_enum_ref import StringEnumRef + from openapi_client.models.tag import Tag + from openapi_client.models.test_form_object_multipart_request_marker import TestFormObjectMultipartRequestMarker + from openapi_client.models.test_query_style_deep_object_explode_true_object_all_of_query_object_parameter import TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter + from openapi_client.models.test_query_style_form_explode_true_array_string_query_object_parameter import TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + """# import models into model package from openapi_client.models.bird import Bird from openapi_client.models.category import Category from openapi_client.models.data_query import DataQuery @@ -27,3 +48,9 @@ from openapi_client.models.test_form_object_multipart_request_marker import TestFormObjectMultipartRequestMarker from openapi_client.models.test_query_style_deep_object_explode_true_object_all_of_query_object_parameter import TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter from openapi_client.models.test_query_style_form_explode_true_array_string_query_object_parameter import TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter + +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/pyproject.toml b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/pyproject.toml index db1f365aa469..25952c26ec86 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/pyproject.toml +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/pyproject.toml @@ -14,7 +14,8 @@ dependencies = [ "urllib3 (>=2.1.0,<3.0.0)", "python-dateutil (>=2.8.2)", "pydantic (>=2)", - "typing-extensions (>=4.7.1)" + "typing-extensions (>=4.7.1)", + "lazy-imports (>=1,<2)" ] [project.urls] diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/requirements.txt b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/requirements.txt index 6cbb2b98b163..867a4496cd49 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/requirements.txt +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/requirements.txt @@ -2,3 +2,4 @@ urllib3 >= 2.1.0, < 3.0.0 python_dateutil >= 2.8.2 pydantic >= 2 typing-extensions >= 4.7.1 +lazy-imports >= 1, < 2 diff --git a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/setup.py b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/setup.py index 5527d5073fe1..c7563af2915f 100644 --- a/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/setup.py +++ b/samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/setup.py @@ -29,6 +29,7 @@ "python-dateutil >= 2.8.2", "pydantic >= 2", "typing-extensions >= 4.7.1", + "lazy-imports >= 1, < 2", ] setup( diff --git a/samples/client/echo_api/python/openapi_client/__init__.py b/samples/client/echo_api/python/openapi_client/__init__.py index 5da36103dcbb..a4a081020d9e 100644 --- a/samples/client/echo_api/python/openapi_client/__init__.py +++ b/samples/client/echo_api/python/openapi_client/__init__.py @@ -48,7 +48,49 @@ "TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter", ] -# import apis into sdk package +if __import__("typing").TYPE_CHECKING: + # import apis into sdk package + from openapi_client.api.auth_api import AuthApi as AuthApi + from openapi_client.api.body_api import BodyApi as BodyApi + from openapi_client.api.form_api import FormApi as FormApi + from openapi_client.api.header_api import HeaderApi as HeaderApi + from openapi_client.api.path_api import PathApi as PathApi + from openapi_client.api.query_api import QueryApi as QueryApi + + # import ApiClient + from openapi_client.api_response import ApiResponse as ApiResponse + from openapi_client.api_client import ApiClient as ApiClient + from openapi_client.configuration import Configuration as Configuration + from openapi_client.exceptions import OpenApiException as OpenApiException + from openapi_client.exceptions import ApiTypeError as ApiTypeError + from openapi_client.exceptions import ApiValueError as ApiValueError + from openapi_client.exceptions import ApiKeyError as ApiKeyError + from openapi_client.exceptions import ApiAttributeError as ApiAttributeError + from openapi_client.exceptions import ApiException as ApiException + + # import models into sdk package + from openapi_client.models.bird import Bird as Bird + from openapi_client.models.category import Category as Category + from openapi_client.models.data_query import DataQuery as DataQuery + from openapi_client.models.default_value import DefaultValue as DefaultValue + from openapi_client.models.number_properties_only import NumberPropertiesOnly as NumberPropertiesOnly + from openapi_client.models.pet import Pet as Pet + from openapi_client.models.query import Query as Query + from openapi_client.models.string_enum_ref import StringEnumRef as StringEnumRef + from openapi_client.models.tag import Tag as Tag + from openapi_client.models.test_form_object_multipart_request_marker import TestFormObjectMultipartRequestMarker as TestFormObjectMultipartRequestMarker + from openapi_client.models.test_query_style_deep_object_explode_true_object_all_of_query_object_parameter import TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter as TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter + from openapi_client.models.test_query_style_form_explode_true_array_string_query_object_parameter import TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter as TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + ("__version__", __version__), + ("__all__", __all__), + """# import apis into sdk package from openapi_client.api.auth_api import AuthApi as AuthApi from openapi_client.api.body_api import BodyApi as BodyApi from openapi_client.api.form_api import FormApi as FormApi @@ -80,3 +122,9 @@ from openapi_client.models.test_form_object_multipart_request_marker import TestFormObjectMultipartRequestMarker as TestFormObjectMultipartRequestMarker from openapi_client.models.test_query_style_deep_object_explode_true_object_all_of_query_object_parameter import TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter as TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter from openapi_client.models.test_query_style_form_explode_true_array_string_query_object_parameter import TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter as TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter + +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/client/echo_api/python/openapi_client/api/__init__.py b/samples/client/echo_api/python/openapi_client/api/__init__.py index 9c9ae790c3b0..c55dee436e1f 100644 --- a/samples/client/echo_api/python/openapi_client/api/__init__.py +++ b/samples/client/echo_api/python/openapi_client/api/__init__.py @@ -1,6 +1,21 @@ # flake8: noqa -# import apis into api package +if __import__("typing").TYPE_CHECKING: + # import apis into api package + from openapi_client.api.auth_api import AuthApi + from openapi_client.api.body_api import BodyApi + from openapi_client.api.form_api import FormApi + from openapi_client.api.header_api import HeaderApi + from openapi_client.api.path_api import PathApi + from openapi_client.api.query_api import QueryApi + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + """# import apis into api package from openapi_client.api.auth_api import AuthApi from openapi_client.api.body_api import BodyApi from openapi_client.api.form_api import FormApi @@ -8,3 +23,8 @@ from openapi_client.api.path_api import PathApi from openapi_client.api.query_api import QueryApi +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/client/echo_api/python/openapi_client/models/__init__.py b/samples/client/echo_api/python/openapi_client/models/__init__.py index f070f6323167..abd67e38090a 100644 --- a/samples/client/echo_api/python/openapi_client/models/__init__.py +++ b/samples/client/echo_api/python/openapi_client/models/__init__.py @@ -14,7 +14,28 @@ """ # noqa: E501 -# import models into model package +if __import__("typing").TYPE_CHECKING: + # import models into model package + from openapi_client.models.bird import Bird + from openapi_client.models.category import Category + from openapi_client.models.data_query import DataQuery + from openapi_client.models.default_value import DefaultValue + from openapi_client.models.number_properties_only import NumberPropertiesOnly + from openapi_client.models.pet import Pet + from openapi_client.models.query import Query + from openapi_client.models.string_enum_ref import StringEnumRef + from openapi_client.models.tag import Tag + from openapi_client.models.test_form_object_multipart_request_marker import TestFormObjectMultipartRequestMarker + from openapi_client.models.test_query_style_deep_object_explode_true_object_all_of_query_object_parameter import TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter + from openapi_client.models.test_query_style_form_explode_true_array_string_query_object_parameter import TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + """# import models into model package from openapi_client.models.bird import Bird from openapi_client.models.category import Category from openapi_client.models.data_query import DataQuery @@ -27,3 +48,9 @@ from openapi_client.models.test_form_object_multipart_request_marker import TestFormObjectMultipartRequestMarker from openapi_client.models.test_query_style_deep_object_explode_true_object_all_of_query_object_parameter import TestQueryStyleDeepObjectExplodeTrueObjectAllOfQueryObjectParameter from openapi_client.models.test_query_style_form_explode_true_array_string_query_object_parameter import TestQueryStyleFormExplodeTrueArrayStringQueryObjectParameter + +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/client/echo_api/python/pyproject.toml b/samples/client/echo_api/python/pyproject.toml index db1f365aa469..25952c26ec86 100644 --- a/samples/client/echo_api/python/pyproject.toml +++ b/samples/client/echo_api/python/pyproject.toml @@ -14,7 +14,8 @@ dependencies = [ "urllib3 (>=2.1.0,<3.0.0)", "python-dateutil (>=2.8.2)", "pydantic (>=2)", - "typing-extensions (>=4.7.1)" + "typing-extensions (>=4.7.1)", + "lazy-imports (>=1,<2)" ] [project.urls] diff --git a/samples/client/echo_api/python/requirements.txt b/samples/client/echo_api/python/requirements.txt index 6cbb2b98b163..867a4496cd49 100644 --- a/samples/client/echo_api/python/requirements.txt +++ b/samples/client/echo_api/python/requirements.txt @@ -2,3 +2,4 @@ urllib3 >= 2.1.0, < 3.0.0 python_dateutil >= 2.8.2 pydantic >= 2 typing-extensions >= 4.7.1 +lazy-imports >= 1, < 2 diff --git a/samples/client/echo_api/python/setup.py b/samples/client/echo_api/python/setup.py index 5527d5073fe1..c7563af2915f 100644 --- a/samples/client/echo_api/python/setup.py +++ b/samples/client/echo_api/python/setup.py @@ -29,6 +29,7 @@ "python-dateutil >= 2.8.2", "pydantic >= 2", "typing-extensions >= 4.7.1", + "lazy-imports >= 1, < 2", ] setup( diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py index 21f88b7adb35..9ca83e0d223f 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/__init__.py @@ -148,7 +148,150 @@ "WithNestedOneOf", ] -# import apis into sdk package +if __import__("typing").TYPE_CHECKING: + # import apis into sdk package + from petstore_api.api.another_fake_api import AnotherFakeApi as AnotherFakeApi + from petstore_api.api.default_api import DefaultApi as DefaultApi + from petstore_api.api.fake_api import FakeApi as FakeApi + from petstore_api.api.fake_classname_tags123_api import FakeClassnameTags123Api as FakeClassnameTags123Api + from petstore_api.api.import_test_datetime_api import ImportTestDatetimeApi as ImportTestDatetimeApi + from petstore_api.api.pet_api import PetApi as PetApi + from petstore_api.api.store_api import StoreApi as StoreApi + from petstore_api.api.user_api import UserApi as UserApi + + # import ApiClient + from petstore_api.api_response import ApiResponse as ApiResponse + from petstore_api.api_client import ApiClient as ApiClient + from petstore_api.configuration import Configuration as Configuration + from petstore_api.exceptions import OpenApiException as OpenApiException + from petstore_api.exceptions import ApiTypeError as ApiTypeError + from petstore_api.exceptions import ApiValueError as ApiValueError + from petstore_api.exceptions import ApiKeyError as ApiKeyError + from petstore_api.exceptions import ApiAttributeError as ApiAttributeError + from petstore_api.exceptions import ApiException as ApiException + from petstore_api.signing import HttpSigningConfiguration as HttpSigningConfiguration + + # import models into sdk package + from petstore_api.models.additional_properties_any_type import AdditionalPropertiesAnyType as AdditionalPropertiesAnyType + from petstore_api.models.additional_properties_class import AdditionalPropertiesClass as AdditionalPropertiesClass + from petstore_api.models.additional_properties_object import AdditionalPropertiesObject as AdditionalPropertiesObject + from petstore_api.models.additional_properties_with_description_only import AdditionalPropertiesWithDescriptionOnly as AdditionalPropertiesWithDescriptionOnly + from petstore_api.models.all_of_super_model import AllOfSuperModel as AllOfSuperModel + from petstore_api.models.all_of_with_single_ref import AllOfWithSingleRef as AllOfWithSingleRef + from petstore_api.models.animal import Animal as Animal + from petstore_api.models.any_of_color import AnyOfColor as AnyOfColor + from petstore_api.models.any_of_pig import AnyOfPig as AnyOfPig + from petstore_api.models.array_of_array_of_model import ArrayOfArrayOfModel as ArrayOfArrayOfModel + from petstore_api.models.array_of_array_of_number_only import ArrayOfArrayOfNumberOnly as ArrayOfArrayOfNumberOnly + from petstore_api.models.array_of_number_only import ArrayOfNumberOnly as ArrayOfNumberOnly + from petstore_api.models.array_test import ArrayTest as ArrayTest + from petstore_api.models.base_discriminator import BaseDiscriminator as BaseDiscriminator + from petstore_api.models.basque_pig import BasquePig as BasquePig + from petstore_api.models.bathing import Bathing as Bathing + from petstore_api.models.capitalization import Capitalization as Capitalization + from petstore_api.models.cat import Cat as Cat + from petstore_api.models.category import Category as Category + from petstore_api.models.circular_all_of_ref import CircularAllOfRef as CircularAllOfRef + from petstore_api.models.circular_reference_model import CircularReferenceModel as CircularReferenceModel + from petstore_api.models.class_model import ClassModel as ClassModel + from petstore_api.models.client import Client as Client + from petstore_api.models.color import Color as Color + from petstore_api.models.creature import Creature as Creature + from petstore_api.models.creature_info import CreatureInfo as CreatureInfo + from petstore_api.models.danish_pig import DanishPig as DanishPig + from petstore_api.models.deprecated_object import DeprecatedObject as DeprecatedObject + from petstore_api.models.discriminator_all_of_sub import DiscriminatorAllOfSub as DiscriminatorAllOfSub + from petstore_api.models.discriminator_all_of_super import DiscriminatorAllOfSuper as DiscriminatorAllOfSuper + from petstore_api.models.dog import Dog as Dog + from petstore_api.models.dummy_model import DummyModel as DummyModel + from petstore_api.models.enum_arrays import EnumArrays as EnumArrays + from petstore_api.models.enum_class import EnumClass as EnumClass + from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt as EnumNumberVendorExt + from petstore_api.models.enum_string1 import EnumString1 as EnumString1 + from petstore_api.models.enum_string2 import EnumString2 as EnumString2 + from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt as EnumStringVendorExt + from petstore_api.models.enum_test import EnumTest as EnumTest + from petstore_api.models.feeding import Feeding as Feeding + from petstore_api.models.file import File as File + from petstore_api.models.file_schema_test_class import FileSchemaTestClass as FileSchemaTestClass + from petstore_api.models.first_ref import FirstRef as FirstRef + from petstore_api.models.foo import Foo as Foo + from petstore_api.models.foo_get_default_response import FooGetDefaultResponse as FooGetDefaultResponse + from petstore_api.models.format_test import FormatTest as FormatTest + from petstore_api.models.has_only_read_only import HasOnlyReadOnly as HasOnlyReadOnly + from petstore_api.models.health_check_result import HealthCheckResult as HealthCheckResult + from petstore_api.models.hunting_dog import HuntingDog as HuntingDog + from petstore_api.models.info import Info as Info + from petstore_api.models.inner_dict_with_property import InnerDictWithProperty as InnerDictWithProperty + from petstore_api.models.input_all_of import InputAllOf as InputAllOf + from petstore_api.models.int_or_string import IntOrString as IntOrString + from petstore_api.models.list_class import ListClass as ListClass + from petstore_api.models.map_of_array_of_model import MapOfArrayOfModel as MapOfArrayOfModel + from petstore_api.models.map_test import MapTest as MapTest + from petstore_api.models.mixed_properties_and_additional_properties_class import MixedPropertiesAndAdditionalPropertiesClass as MixedPropertiesAndAdditionalPropertiesClass + from petstore_api.models.model200_response import Model200Response as Model200Response + from petstore_api.models.model_api_response import ModelApiResponse as ModelApiResponse + from petstore_api.models.model_field import ModelField as ModelField + from petstore_api.models.model_return import ModelReturn as ModelReturn + from petstore_api.models.multi_arrays import MultiArrays as MultiArrays + from petstore_api.models.name import Name as Name + from petstore_api.models.nullable_class import NullableClass as NullableClass + from petstore_api.models.nullable_property import NullableProperty as NullableProperty + from petstore_api.models.number_only import NumberOnly as NumberOnly + from petstore_api.models.object_to_test_additional_properties import ObjectToTestAdditionalProperties as ObjectToTestAdditionalProperties + from petstore_api.models.object_with_deprecated_fields import ObjectWithDeprecatedFields as ObjectWithDeprecatedFields + from petstore_api.models.one_of_enum_string import OneOfEnumString as OneOfEnumString + from petstore_api.models.order import Order as Order + from petstore_api.models.outer_composite import OuterComposite as OuterComposite + from petstore_api.models.outer_enum import OuterEnum as OuterEnum + from petstore_api.models.outer_enum_default_value import OuterEnumDefaultValue as OuterEnumDefaultValue + from petstore_api.models.outer_enum_integer import OuterEnumInteger as OuterEnumInteger + from petstore_api.models.outer_enum_integer_default_value import OuterEnumIntegerDefaultValue as OuterEnumIntegerDefaultValue + from petstore_api.models.outer_object_with_enum_property import OuterObjectWithEnumProperty as OuterObjectWithEnumProperty + from petstore_api.models.parent import Parent as Parent + from petstore_api.models.parent_with_optional_dict import ParentWithOptionalDict as ParentWithOptionalDict + from petstore_api.models.pet import Pet as Pet + from petstore_api.models.pig import Pig as Pig + from petstore_api.models.pony_sizes import PonySizes as PonySizes + from petstore_api.models.poop_cleaning import PoopCleaning as PoopCleaning + from petstore_api.models.primitive_string import PrimitiveString as PrimitiveString + from petstore_api.models.property_map import PropertyMap as PropertyMap + from petstore_api.models.property_name_collision import PropertyNameCollision as PropertyNameCollision + from petstore_api.models.read_only_first import ReadOnlyFirst as ReadOnlyFirst + from petstore_api.models.second_circular_all_of_ref import SecondCircularAllOfRef as SecondCircularAllOfRef + from petstore_api.models.second_ref import SecondRef as SecondRef + from petstore_api.models.self_reference_model import SelfReferenceModel as SelfReferenceModel + from petstore_api.models.single_ref_type import SingleRefType as SingleRefType + from petstore_api.models.special_character_enum import SpecialCharacterEnum as SpecialCharacterEnum + from petstore_api.models.special_model_name import SpecialModelName as SpecialModelName + from petstore_api.models.special_name import SpecialName as SpecialName + from petstore_api.models.tag import Tag as Tag + from petstore_api.models.task import Task as Task + from petstore_api.models.task_activity import TaskActivity as TaskActivity + from petstore_api.models.test_enum import TestEnum as TestEnum + from petstore_api.models.test_enum_with_default import TestEnumWithDefault as TestEnumWithDefault + from petstore_api.models.test_error_responses_with_model400_response import TestErrorResponsesWithModel400Response as TestErrorResponsesWithModel400Response + from petstore_api.models.test_error_responses_with_model404_response import TestErrorResponsesWithModel404Response as TestErrorResponsesWithModel404Response + from petstore_api.models.test_inline_freeform_additional_properties_request import TestInlineFreeformAdditionalPropertiesRequest as TestInlineFreeformAdditionalPropertiesRequest + from petstore_api.models.test_model_with_enum_default import TestModelWithEnumDefault as TestModelWithEnumDefault + from petstore_api.models.test_object_for_multipart_requests_request_marker import TestObjectForMultipartRequestsRequestMarker as TestObjectForMultipartRequestsRequestMarker + from petstore_api.models.tiger import Tiger as Tiger + from petstore_api.models.type import Type as Type + from petstore_api.models.unnamed_dict_with_additional_model_list_properties import UnnamedDictWithAdditionalModelListProperties as UnnamedDictWithAdditionalModelListProperties + from petstore_api.models.unnamed_dict_with_additional_string_list_properties import UnnamedDictWithAdditionalStringListProperties as UnnamedDictWithAdditionalStringListProperties + from petstore_api.models.upload_file_with_additional_properties_request_object import UploadFileWithAdditionalPropertiesRequestObject as UploadFileWithAdditionalPropertiesRequestObject + from petstore_api.models.user import User as User + from petstore_api.models.with_nested_one_of import WithNestedOneOf as WithNestedOneOf + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + ("__version__", __version__), + ("__all__", __all__), + """# import apis into sdk package from petstore_api.api.another_fake_api import AnotherFakeApi as AnotherFakeApi from petstore_api.api.default_api import DefaultApi as DefaultApi from petstore_api.api.fake_api import FakeApi as FakeApi @@ -281,3 +424,9 @@ from petstore_api.models.upload_file_with_additional_properties_request_object import UploadFileWithAdditionalPropertiesRequestObject as UploadFileWithAdditionalPropertiesRequestObject from petstore_api.models.user import User as User from petstore_api.models.with_nested_one_of import WithNestedOneOf as WithNestedOneOf + +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/api/__init__.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/api/__init__.py index 79d2ab7dc931..e77aed00eb57 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/api/__init__.py +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/api/__init__.py @@ -1,6 +1,23 @@ # flake8: noqa -# import apis into api package +if __import__("typing").TYPE_CHECKING: + # import apis into api package + from petstore_api.api.another_fake_api import AnotherFakeApi + from petstore_api.api.default_api import DefaultApi + from petstore_api.api.fake_api import FakeApi + from petstore_api.api.fake_classname_tags123_api import FakeClassnameTags123Api + from petstore_api.api.import_test_datetime_api import ImportTestDatetimeApi + from petstore_api.api.pet_api import PetApi + from petstore_api.api.store_api import StoreApi + from petstore_api.api.user_api import UserApi + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + """# import apis into api package from petstore_api.api.another_fake_api import AnotherFakeApi from petstore_api.api.default_api import DefaultApi from petstore_api.api.fake_api import FakeApi @@ -10,3 +27,8 @@ from petstore_api.api.store_api import StoreApi from petstore_api.api.user_api import UserApi +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py index c9dd877ed2a7..4673bbecb038 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py +++ b/samples/openapi3/client/petstore/python-aiohttp/petstore_api/models/__init__.py @@ -13,7 +13,126 @@ """ # noqa: E501 -# import models into model package +if __import__("typing").TYPE_CHECKING: + # import models into model package + from petstore_api.models.additional_properties_any_type import AdditionalPropertiesAnyType + from petstore_api.models.additional_properties_class import AdditionalPropertiesClass + from petstore_api.models.additional_properties_object import AdditionalPropertiesObject + from petstore_api.models.additional_properties_with_description_only import AdditionalPropertiesWithDescriptionOnly + from petstore_api.models.all_of_super_model import AllOfSuperModel + from petstore_api.models.all_of_with_single_ref import AllOfWithSingleRef + from petstore_api.models.animal import Animal + from petstore_api.models.any_of_color import AnyOfColor + from petstore_api.models.any_of_pig import AnyOfPig + from petstore_api.models.array_of_array_of_model import ArrayOfArrayOfModel + from petstore_api.models.array_of_array_of_number_only import ArrayOfArrayOfNumberOnly + from petstore_api.models.array_of_number_only import ArrayOfNumberOnly + from petstore_api.models.array_test import ArrayTest + from petstore_api.models.base_discriminator import BaseDiscriminator + from petstore_api.models.basque_pig import BasquePig + from petstore_api.models.bathing import Bathing + from petstore_api.models.capitalization import Capitalization + from petstore_api.models.cat import Cat + from petstore_api.models.category import Category + from petstore_api.models.circular_all_of_ref import CircularAllOfRef + from petstore_api.models.circular_reference_model import CircularReferenceModel + from petstore_api.models.class_model import ClassModel + from petstore_api.models.client import Client + from petstore_api.models.color import Color + from petstore_api.models.creature import Creature + from petstore_api.models.creature_info import CreatureInfo + from petstore_api.models.danish_pig import DanishPig + from petstore_api.models.deprecated_object import DeprecatedObject + from petstore_api.models.discriminator_all_of_sub import DiscriminatorAllOfSub + from petstore_api.models.discriminator_all_of_super import DiscriminatorAllOfSuper + from petstore_api.models.dog import Dog + from petstore_api.models.dummy_model import DummyModel + from petstore_api.models.enum_arrays import EnumArrays + from petstore_api.models.enum_class import EnumClass + from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt + from petstore_api.models.enum_string1 import EnumString1 + from petstore_api.models.enum_string2 import EnumString2 + from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt + from petstore_api.models.enum_test import EnumTest + from petstore_api.models.feeding import Feeding + from petstore_api.models.file import File + from petstore_api.models.file_schema_test_class import FileSchemaTestClass + from petstore_api.models.first_ref import FirstRef + from petstore_api.models.foo import Foo + from petstore_api.models.foo_get_default_response import FooGetDefaultResponse + from petstore_api.models.format_test import FormatTest + from petstore_api.models.has_only_read_only import HasOnlyReadOnly + from petstore_api.models.health_check_result import HealthCheckResult + from petstore_api.models.hunting_dog import HuntingDog + from petstore_api.models.info import Info + from petstore_api.models.inner_dict_with_property import InnerDictWithProperty + from petstore_api.models.input_all_of import InputAllOf + from petstore_api.models.int_or_string import IntOrString + from petstore_api.models.list_class import ListClass + from petstore_api.models.map_of_array_of_model import MapOfArrayOfModel + from petstore_api.models.map_test import MapTest + from petstore_api.models.mixed_properties_and_additional_properties_class import MixedPropertiesAndAdditionalPropertiesClass + from petstore_api.models.model200_response import Model200Response + from petstore_api.models.model_api_response import ModelApiResponse + from petstore_api.models.model_field import ModelField + from petstore_api.models.model_return import ModelReturn + from petstore_api.models.multi_arrays import MultiArrays + from petstore_api.models.name import Name + from petstore_api.models.nullable_class import NullableClass + from petstore_api.models.nullable_property import NullableProperty + from petstore_api.models.number_only import NumberOnly + from petstore_api.models.object_to_test_additional_properties import ObjectToTestAdditionalProperties + from petstore_api.models.object_with_deprecated_fields import ObjectWithDeprecatedFields + from petstore_api.models.one_of_enum_string import OneOfEnumString + from petstore_api.models.order import Order + from petstore_api.models.outer_composite import OuterComposite + from petstore_api.models.outer_enum import OuterEnum + from petstore_api.models.outer_enum_default_value import OuterEnumDefaultValue + from petstore_api.models.outer_enum_integer import OuterEnumInteger + from petstore_api.models.outer_enum_integer_default_value import OuterEnumIntegerDefaultValue + from petstore_api.models.outer_object_with_enum_property import OuterObjectWithEnumProperty + from petstore_api.models.parent import Parent + from petstore_api.models.parent_with_optional_dict import ParentWithOptionalDict + from petstore_api.models.pet import Pet + from petstore_api.models.pig import Pig + from petstore_api.models.pony_sizes import PonySizes + from petstore_api.models.poop_cleaning import PoopCleaning + from petstore_api.models.primitive_string import PrimitiveString + from petstore_api.models.property_map import PropertyMap + from petstore_api.models.property_name_collision import PropertyNameCollision + from petstore_api.models.read_only_first import ReadOnlyFirst + from petstore_api.models.second_circular_all_of_ref import SecondCircularAllOfRef + from petstore_api.models.second_ref import SecondRef + from petstore_api.models.self_reference_model import SelfReferenceModel + from petstore_api.models.single_ref_type import SingleRefType + from petstore_api.models.special_character_enum import SpecialCharacterEnum + from petstore_api.models.special_model_name import SpecialModelName + from petstore_api.models.special_name import SpecialName + from petstore_api.models.tag import Tag + from petstore_api.models.task import Task + from petstore_api.models.task_activity import TaskActivity + from petstore_api.models.test_enum import TestEnum + from petstore_api.models.test_enum_with_default import TestEnumWithDefault + from petstore_api.models.test_error_responses_with_model400_response import TestErrorResponsesWithModel400Response + from petstore_api.models.test_error_responses_with_model404_response import TestErrorResponsesWithModel404Response + from petstore_api.models.test_inline_freeform_additional_properties_request import TestInlineFreeformAdditionalPropertiesRequest + from petstore_api.models.test_model_with_enum_default import TestModelWithEnumDefault + from petstore_api.models.test_object_for_multipart_requests_request_marker import TestObjectForMultipartRequestsRequestMarker + from petstore_api.models.tiger import Tiger + from petstore_api.models.type import Type + from petstore_api.models.unnamed_dict_with_additional_model_list_properties import UnnamedDictWithAdditionalModelListProperties + from petstore_api.models.unnamed_dict_with_additional_string_list_properties import UnnamedDictWithAdditionalStringListProperties + from petstore_api.models.upload_file_with_additional_properties_request_object import UploadFileWithAdditionalPropertiesRequestObject + from petstore_api.models.user import User + from petstore_api.models.with_nested_one_of import WithNestedOneOf + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + """# import models into model package from petstore_api.models.additional_properties_any_type import AdditionalPropertiesAnyType from petstore_api.models.additional_properties_class import AdditionalPropertiesClass from petstore_api.models.additional_properties_object import AdditionalPropertiesObject @@ -124,3 +243,9 @@ from petstore_api.models.upload_file_with_additional_properties_request_object import UploadFileWithAdditionalPropertiesRequestObject from petstore_api.models.user import User from petstore_api.models.with_nested_one_of import WithNestedOneOf + +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/openapi3/client/petstore/python-aiohttp/pyproject.toml b/samples/openapi3/client/petstore/python-aiohttp/pyproject.toml index fbafbe1e07a2..62e8d9e75874 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/pyproject.toml +++ b/samples/openapi3/client/petstore/python-aiohttp/pyproject.toml @@ -19,6 +19,7 @@ pem = ">= 19.3.0" pycryptodome = ">= 3.9.0" pydantic = ">= 2" typing-extensions = ">= 4.7.1" +lazy-imports = ">= 1, < 2" [tool.poetry.dev-dependencies] pytest = ">= 7.2.1" diff --git a/samples/openapi3/client/petstore/python-aiohttp/requirements.txt b/samples/openapi3/client/petstore/python-aiohttp/requirements.txt index 76b1f7272d19..7f4a9417db56 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/requirements.txt +++ b/samples/openapi3/client/petstore/python-aiohttp/requirements.txt @@ -6,3 +6,4 @@ pem >= 19.3.0 pycryptodome >= 3.9.0 pydantic >= 2 typing-extensions >= 4.7.1 +lazy-imports >= 1, < 2 diff --git a/samples/openapi3/client/petstore/python-aiohttp/setup.py b/samples/openapi3/client/petstore/python-aiohttp/setup.py index eab7be21eea2..ebc4176945bc 100644 --- a/samples/openapi3/client/petstore/python-aiohttp/setup.py +++ b/samples/openapi3/client/petstore/python-aiohttp/setup.py @@ -32,6 +32,7 @@ "pycryptodome >= 3.9.0", "pydantic >= 2", "typing-extensions >= 4.7.1", + "lazy-imports >= 1, < 2", ] setup( diff --git a/samples/openapi3/client/petstore/python/petstore_api/__init__.py b/samples/openapi3/client/petstore/python/petstore_api/__init__.py index 21f88b7adb35..9ca83e0d223f 100755 --- a/samples/openapi3/client/petstore/python/petstore_api/__init__.py +++ b/samples/openapi3/client/petstore/python/petstore_api/__init__.py @@ -148,7 +148,150 @@ "WithNestedOneOf", ] -# import apis into sdk package +if __import__("typing").TYPE_CHECKING: + # import apis into sdk package + from petstore_api.api.another_fake_api import AnotherFakeApi as AnotherFakeApi + from petstore_api.api.default_api import DefaultApi as DefaultApi + from petstore_api.api.fake_api import FakeApi as FakeApi + from petstore_api.api.fake_classname_tags123_api import FakeClassnameTags123Api as FakeClassnameTags123Api + from petstore_api.api.import_test_datetime_api import ImportTestDatetimeApi as ImportTestDatetimeApi + from petstore_api.api.pet_api import PetApi as PetApi + from petstore_api.api.store_api import StoreApi as StoreApi + from petstore_api.api.user_api import UserApi as UserApi + + # import ApiClient + from petstore_api.api_response import ApiResponse as ApiResponse + from petstore_api.api_client import ApiClient as ApiClient + from petstore_api.configuration import Configuration as Configuration + from petstore_api.exceptions import OpenApiException as OpenApiException + from petstore_api.exceptions import ApiTypeError as ApiTypeError + from petstore_api.exceptions import ApiValueError as ApiValueError + from petstore_api.exceptions import ApiKeyError as ApiKeyError + from petstore_api.exceptions import ApiAttributeError as ApiAttributeError + from petstore_api.exceptions import ApiException as ApiException + from petstore_api.signing import HttpSigningConfiguration as HttpSigningConfiguration + + # import models into sdk package + from petstore_api.models.additional_properties_any_type import AdditionalPropertiesAnyType as AdditionalPropertiesAnyType + from petstore_api.models.additional_properties_class import AdditionalPropertiesClass as AdditionalPropertiesClass + from petstore_api.models.additional_properties_object import AdditionalPropertiesObject as AdditionalPropertiesObject + from petstore_api.models.additional_properties_with_description_only import AdditionalPropertiesWithDescriptionOnly as AdditionalPropertiesWithDescriptionOnly + from petstore_api.models.all_of_super_model import AllOfSuperModel as AllOfSuperModel + from petstore_api.models.all_of_with_single_ref import AllOfWithSingleRef as AllOfWithSingleRef + from petstore_api.models.animal import Animal as Animal + from petstore_api.models.any_of_color import AnyOfColor as AnyOfColor + from petstore_api.models.any_of_pig import AnyOfPig as AnyOfPig + from petstore_api.models.array_of_array_of_model import ArrayOfArrayOfModel as ArrayOfArrayOfModel + from petstore_api.models.array_of_array_of_number_only import ArrayOfArrayOfNumberOnly as ArrayOfArrayOfNumberOnly + from petstore_api.models.array_of_number_only import ArrayOfNumberOnly as ArrayOfNumberOnly + from petstore_api.models.array_test import ArrayTest as ArrayTest + from petstore_api.models.base_discriminator import BaseDiscriminator as BaseDiscriminator + from petstore_api.models.basque_pig import BasquePig as BasquePig + from petstore_api.models.bathing import Bathing as Bathing + from petstore_api.models.capitalization import Capitalization as Capitalization + from petstore_api.models.cat import Cat as Cat + from petstore_api.models.category import Category as Category + from petstore_api.models.circular_all_of_ref import CircularAllOfRef as CircularAllOfRef + from petstore_api.models.circular_reference_model import CircularReferenceModel as CircularReferenceModel + from petstore_api.models.class_model import ClassModel as ClassModel + from petstore_api.models.client import Client as Client + from petstore_api.models.color import Color as Color + from petstore_api.models.creature import Creature as Creature + from petstore_api.models.creature_info import CreatureInfo as CreatureInfo + from petstore_api.models.danish_pig import DanishPig as DanishPig + from petstore_api.models.deprecated_object import DeprecatedObject as DeprecatedObject + from petstore_api.models.discriminator_all_of_sub import DiscriminatorAllOfSub as DiscriminatorAllOfSub + from petstore_api.models.discriminator_all_of_super import DiscriminatorAllOfSuper as DiscriminatorAllOfSuper + from petstore_api.models.dog import Dog as Dog + from petstore_api.models.dummy_model import DummyModel as DummyModel + from petstore_api.models.enum_arrays import EnumArrays as EnumArrays + from petstore_api.models.enum_class import EnumClass as EnumClass + from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt as EnumNumberVendorExt + from petstore_api.models.enum_string1 import EnumString1 as EnumString1 + from petstore_api.models.enum_string2 import EnumString2 as EnumString2 + from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt as EnumStringVendorExt + from petstore_api.models.enum_test import EnumTest as EnumTest + from petstore_api.models.feeding import Feeding as Feeding + from petstore_api.models.file import File as File + from petstore_api.models.file_schema_test_class import FileSchemaTestClass as FileSchemaTestClass + from petstore_api.models.first_ref import FirstRef as FirstRef + from petstore_api.models.foo import Foo as Foo + from petstore_api.models.foo_get_default_response import FooGetDefaultResponse as FooGetDefaultResponse + from petstore_api.models.format_test import FormatTest as FormatTest + from petstore_api.models.has_only_read_only import HasOnlyReadOnly as HasOnlyReadOnly + from petstore_api.models.health_check_result import HealthCheckResult as HealthCheckResult + from petstore_api.models.hunting_dog import HuntingDog as HuntingDog + from petstore_api.models.info import Info as Info + from petstore_api.models.inner_dict_with_property import InnerDictWithProperty as InnerDictWithProperty + from petstore_api.models.input_all_of import InputAllOf as InputAllOf + from petstore_api.models.int_or_string import IntOrString as IntOrString + from petstore_api.models.list_class import ListClass as ListClass + from petstore_api.models.map_of_array_of_model import MapOfArrayOfModel as MapOfArrayOfModel + from petstore_api.models.map_test import MapTest as MapTest + from petstore_api.models.mixed_properties_and_additional_properties_class import MixedPropertiesAndAdditionalPropertiesClass as MixedPropertiesAndAdditionalPropertiesClass + from petstore_api.models.model200_response import Model200Response as Model200Response + from petstore_api.models.model_api_response import ModelApiResponse as ModelApiResponse + from petstore_api.models.model_field import ModelField as ModelField + from petstore_api.models.model_return import ModelReturn as ModelReturn + from petstore_api.models.multi_arrays import MultiArrays as MultiArrays + from petstore_api.models.name import Name as Name + from petstore_api.models.nullable_class import NullableClass as NullableClass + from petstore_api.models.nullable_property import NullableProperty as NullableProperty + from petstore_api.models.number_only import NumberOnly as NumberOnly + from petstore_api.models.object_to_test_additional_properties import ObjectToTestAdditionalProperties as ObjectToTestAdditionalProperties + from petstore_api.models.object_with_deprecated_fields import ObjectWithDeprecatedFields as ObjectWithDeprecatedFields + from petstore_api.models.one_of_enum_string import OneOfEnumString as OneOfEnumString + from petstore_api.models.order import Order as Order + from petstore_api.models.outer_composite import OuterComposite as OuterComposite + from petstore_api.models.outer_enum import OuterEnum as OuterEnum + from petstore_api.models.outer_enum_default_value import OuterEnumDefaultValue as OuterEnumDefaultValue + from petstore_api.models.outer_enum_integer import OuterEnumInteger as OuterEnumInteger + from petstore_api.models.outer_enum_integer_default_value import OuterEnumIntegerDefaultValue as OuterEnumIntegerDefaultValue + from petstore_api.models.outer_object_with_enum_property import OuterObjectWithEnumProperty as OuterObjectWithEnumProperty + from petstore_api.models.parent import Parent as Parent + from petstore_api.models.parent_with_optional_dict import ParentWithOptionalDict as ParentWithOptionalDict + from petstore_api.models.pet import Pet as Pet + from petstore_api.models.pig import Pig as Pig + from petstore_api.models.pony_sizes import PonySizes as PonySizes + from petstore_api.models.poop_cleaning import PoopCleaning as PoopCleaning + from petstore_api.models.primitive_string import PrimitiveString as PrimitiveString + from petstore_api.models.property_map import PropertyMap as PropertyMap + from petstore_api.models.property_name_collision import PropertyNameCollision as PropertyNameCollision + from petstore_api.models.read_only_first import ReadOnlyFirst as ReadOnlyFirst + from petstore_api.models.second_circular_all_of_ref import SecondCircularAllOfRef as SecondCircularAllOfRef + from petstore_api.models.second_ref import SecondRef as SecondRef + from petstore_api.models.self_reference_model import SelfReferenceModel as SelfReferenceModel + from petstore_api.models.single_ref_type import SingleRefType as SingleRefType + from petstore_api.models.special_character_enum import SpecialCharacterEnum as SpecialCharacterEnum + from petstore_api.models.special_model_name import SpecialModelName as SpecialModelName + from petstore_api.models.special_name import SpecialName as SpecialName + from petstore_api.models.tag import Tag as Tag + from petstore_api.models.task import Task as Task + from petstore_api.models.task_activity import TaskActivity as TaskActivity + from petstore_api.models.test_enum import TestEnum as TestEnum + from petstore_api.models.test_enum_with_default import TestEnumWithDefault as TestEnumWithDefault + from petstore_api.models.test_error_responses_with_model400_response import TestErrorResponsesWithModel400Response as TestErrorResponsesWithModel400Response + from petstore_api.models.test_error_responses_with_model404_response import TestErrorResponsesWithModel404Response as TestErrorResponsesWithModel404Response + from petstore_api.models.test_inline_freeform_additional_properties_request import TestInlineFreeformAdditionalPropertiesRequest as TestInlineFreeformAdditionalPropertiesRequest + from petstore_api.models.test_model_with_enum_default import TestModelWithEnumDefault as TestModelWithEnumDefault + from petstore_api.models.test_object_for_multipart_requests_request_marker import TestObjectForMultipartRequestsRequestMarker as TestObjectForMultipartRequestsRequestMarker + from petstore_api.models.tiger import Tiger as Tiger + from petstore_api.models.type import Type as Type + from petstore_api.models.unnamed_dict_with_additional_model_list_properties import UnnamedDictWithAdditionalModelListProperties as UnnamedDictWithAdditionalModelListProperties + from petstore_api.models.unnamed_dict_with_additional_string_list_properties import UnnamedDictWithAdditionalStringListProperties as UnnamedDictWithAdditionalStringListProperties + from petstore_api.models.upload_file_with_additional_properties_request_object import UploadFileWithAdditionalPropertiesRequestObject as UploadFileWithAdditionalPropertiesRequestObject + from petstore_api.models.user import User as User + from petstore_api.models.with_nested_one_of import WithNestedOneOf as WithNestedOneOf + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + ("__version__", __version__), + ("__all__", __all__), + """# import apis into sdk package from petstore_api.api.another_fake_api import AnotherFakeApi as AnotherFakeApi from petstore_api.api.default_api import DefaultApi as DefaultApi from petstore_api.api.fake_api import FakeApi as FakeApi @@ -281,3 +424,9 @@ from petstore_api.models.upload_file_with_additional_properties_request_object import UploadFileWithAdditionalPropertiesRequestObject as UploadFileWithAdditionalPropertiesRequestObject from petstore_api.models.user import User as User from petstore_api.models.with_nested_one_of import WithNestedOneOf as WithNestedOneOf + +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/openapi3/client/petstore/python/petstore_api/api/__init__.py b/samples/openapi3/client/petstore/python/petstore_api/api/__init__.py index 79d2ab7dc931..e77aed00eb57 100755 --- a/samples/openapi3/client/petstore/python/petstore_api/api/__init__.py +++ b/samples/openapi3/client/petstore/python/petstore_api/api/__init__.py @@ -1,6 +1,23 @@ # flake8: noqa -# import apis into api package +if __import__("typing").TYPE_CHECKING: + # import apis into api package + from petstore_api.api.another_fake_api import AnotherFakeApi + from petstore_api.api.default_api import DefaultApi + from petstore_api.api.fake_api import FakeApi + from petstore_api.api.fake_classname_tags123_api import FakeClassnameTags123Api + from petstore_api.api.import_test_datetime_api import ImportTestDatetimeApi + from petstore_api.api.pet_api import PetApi + from petstore_api.api.store_api import StoreApi + from petstore_api.api.user_api import UserApi + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + """# import apis into api package from petstore_api.api.another_fake_api import AnotherFakeApi from petstore_api.api.default_api import DefaultApi from petstore_api.api.fake_api import FakeApi @@ -10,3 +27,8 @@ from petstore_api.api.store_api import StoreApi from petstore_api.api.user_api import UserApi +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py b/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py index c9dd877ed2a7..4673bbecb038 100644 --- a/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py +++ b/samples/openapi3/client/petstore/python/petstore_api/models/__init__.py @@ -13,7 +13,126 @@ """ # noqa: E501 -# import models into model package +if __import__("typing").TYPE_CHECKING: + # import models into model package + from petstore_api.models.additional_properties_any_type import AdditionalPropertiesAnyType + from petstore_api.models.additional_properties_class import AdditionalPropertiesClass + from petstore_api.models.additional_properties_object import AdditionalPropertiesObject + from petstore_api.models.additional_properties_with_description_only import AdditionalPropertiesWithDescriptionOnly + from petstore_api.models.all_of_super_model import AllOfSuperModel + from petstore_api.models.all_of_with_single_ref import AllOfWithSingleRef + from petstore_api.models.animal import Animal + from petstore_api.models.any_of_color import AnyOfColor + from petstore_api.models.any_of_pig import AnyOfPig + from petstore_api.models.array_of_array_of_model import ArrayOfArrayOfModel + from petstore_api.models.array_of_array_of_number_only import ArrayOfArrayOfNumberOnly + from petstore_api.models.array_of_number_only import ArrayOfNumberOnly + from petstore_api.models.array_test import ArrayTest + from petstore_api.models.base_discriminator import BaseDiscriminator + from petstore_api.models.basque_pig import BasquePig + from petstore_api.models.bathing import Bathing + from petstore_api.models.capitalization import Capitalization + from petstore_api.models.cat import Cat + from petstore_api.models.category import Category + from petstore_api.models.circular_all_of_ref import CircularAllOfRef + from petstore_api.models.circular_reference_model import CircularReferenceModel + from petstore_api.models.class_model import ClassModel + from petstore_api.models.client import Client + from petstore_api.models.color import Color + from petstore_api.models.creature import Creature + from petstore_api.models.creature_info import CreatureInfo + from petstore_api.models.danish_pig import DanishPig + from petstore_api.models.deprecated_object import DeprecatedObject + from petstore_api.models.discriminator_all_of_sub import DiscriminatorAllOfSub + from petstore_api.models.discriminator_all_of_super import DiscriminatorAllOfSuper + from petstore_api.models.dog import Dog + from petstore_api.models.dummy_model import DummyModel + from petstore_api.models.enum_arrays import EnumArrays + from petstore_api.models.enum_class import EnumClass + from petstore_api.models.enum_number_vendor_ext import EnumNumberVendorExt + from petstore_api.models.enum_string1 import EnumString1 + from petstore_api.models.enum_string2 import EnumString2 + from petstore_api.models.enum_string_vendor_ext import EnumStringVendorExt + from petstore_api.models.enum_test import EnumTest + from petstore_api.models.feeding import Feeding + from petstore_api.models.file import File + from petstore_api.models.file_schema_test_class import FileSchemaTestClass + from petstore_api.models.first_ref import FirstRef + from petstore_api.models.foo import Foo + from petstore_api.models.foo_get_default_response import FooGetDefaultResponse + from petstore_api.models.format_test import FormatTest + from petstore_api.models.has_only_read_only import HasOnlyReadOnly + from petstore_api.models.health_check_result import HealthCheckResult + from petstore_api.models.hunting_dog import HuntingDog + from petstore_api.models.info import Info + from petstore_api.models.inner_dict_with_property import InnerDictWithProperty + from petstore_api.models.input_all_of import InputAllOf + from petstore_api.models.int_or_string import IntOrString + from petstore_api.models.list_class import ListClass + from petstore_api.models.map_of_array_of_model import MapOfArrayOfModel + from petstore_api.models.map_test import MapTest + from petstore_api.models.mixed_properties_and_additional_properties_class import MixedPropertiesAndAdditionalPropertiesClass + from petstore_api.models.model200_response import Model200Response + from petstore_api.models.model_api_response import ModelApiResponse + from petstore_api.models.model_field import ModelField + from petstore_api.models.model_return import ModelReturn + from petstore_api.models.multi_arrays import MultiArrays + from petstore_api.models.name import Name + from petstore_api.models.nullable_class import NullableClass + from petstore_api.models.nullable_property import NullableProperty + from petstore_api.models.number_only import NumberOnly + from petstore_api.models.object_to_test_additional_properties import ObjectToTestAdditionalProperties + from petstore_api.models.object_with_deprecated_fields import ObjectWithDeprecatedFields + from petstore_api.models.one_of_enum_string import OneOfEnumString + from petstore_api.models.order import Order + from petstore_api.models.outer_composite import OuterComposite + from petstore_api.models.outer_enum import OuterEnum + from petstore_api.models.outer_enum_default_value import OuterEnumDefaultValue + from petstore_api.models.outer_enum_integer import OuterEnumInteger + from petstore_api.models.outer_enum_integer_default_value import OuterEnumIntegerDefaultValue + from petstore_api.models.outer_object_with_enum_property import OuterObjectWithEnumProperty + from petstore_api.models.parent import Parent + from petstore_api.models.parent_with_optional_dict import ParentWithOptionalDict + from petstore_api.models.pet import Pet + from petstore_api.models.pig import Pig + from petstore_api.models.pony_sizes import PonySizes + from petstore_api.models.poop_cleaning import PoopCleaning + from petstore_api.models.primitive_string import PrimitiveString + from petstore_api.models.property_map import PropertyMap + from petstore_api.models.property_name_collision import PropertyNameCollision + from petstore_api.models.read_only_first import ReadOnlyFirst + from petstore_api.models.second_circular_all_of_ref import SecondCircularAllOfRef + from petstore_api.models.second_ref import SecondRef + from petstore_api.models.self_reference_model import SelfReferenceModel + from petstore_api.models.single_ref_type import SingleRefType + from petstore_api.models.special_character_enum import SpecialCharacterEnum + from petstore_api.models.special_model_name import SpecialModelName + from petstore_api.models.special_name import SpecialName + from petstore_api.models.tag import Tag + from petstore_api.models.task import Task + from petstore_api.models.task_activity import TaskActivity + from petstore_api.models.test_enum import TestEnum + from petstore_api.models.test_enum_with_default import TestEnumWithDefault + from petstore_api.models.test_error_responses_with_model400_response import TestErrorResponsesWithModel400Response + from petstore_api.models.test_error_responses_with_model404_response import TestErrorResponsesWithModel404Response + from petstore_api.models.test_inline_freeform_additional_properties_request import TestInlineFreeformAdditionalPropertiesRequest + from petstore_api.models.test_model_with_enum_default import TestModelWithEnumDefault + from petstore_api.models.test_object_for_multipart_requests_request_marker import TestObjectForMultipartRequestsRequestMarker + from petstore_api.models.tiger import Tiger + from petstore_api.models.type import Type + from petstore_api.models.unnamed_dict_with_additional_model_list_properties import UnnamedDictWithAdditionalModelListProperties + from petstore_api.models.unnamed_dict_with_additional_string_list_properties import UnnamedDictWithAdditionalStringListProperties + from petstore_api.models.upload_file_with_additional_properties_request_object import UploadFileWithAdditionalPropertiesRequestObject + from petstore_api.models.user import User + from petstore_api.models.with_nested_one_of import WithNestedOneOf + +else: + from lazy_imports import LazyModule, as_package, load + + load( + LazyModule( + *as_package(__file__), + """# import models into model package from petstore_api.models.additional_properties_any_type import AdditionalPropertiesAnyType from petstore_api.models.additional_properties_class import AdditionalPropertiesClass from petstore_api.models.additional_properties_object import AdditionalPropertiesObject @@ -124,3 +243,9 @@ from petstore_api.models.upload_file_with_additional_properties_request_object import UploadFileWithAdditionalPropertiesRequestObject from petstore_api.models.user import User from petstore_api.models.with_nested_one_of import WithNestedOneOf + +""", + name=__name__, + doc=__doc__, + ) + ) diff --git a/samples/openapi3/client/petstore/python/pyproject.toml b/samples/openapi3/client/petstore/python/pyproject.toml index b790b56f03d3..c5d3669a6ff9 100644 --- a/samples/openapi3/client/petstore/python/pyproject.toml +++ b/samples/openapi3/client/petstore/python/pyproject.toml @@ -16,7 +16,8 @@ dependencies = [ "pem (>=19.3.0)", "pycryptodome (>=3.9.0)", "pydantic (>=2)", - "typing-extensions (>=4.7.1)" + "typing-extensions (>=4.7.1)", + "lazy-imports (>=1,<2)" ] [project.urls] diff --git a/samples/openapi3/client/petstore/python/requirements.txt b/samples/openapi3/client/petstore/python/requirements.txt index a4d47b80f2ca..ca83fcc1d25b 100755 --- a/samples/openapi3/client/petstore/python/requirements.txt +++ b/samples/openapi3/client/petstore/python/requirements.txt @@ -4,3 +4,4 @@ pem >= 19.3.0 pycryptodome >= 3.9.0 pydantic >= 2 typing-extensions >= 4.7.1 +lazy-imports >= 1, < 2 diff --git a/samples/openapi3/client/petstore/python/setup.py b/samples/openapi3/client/petstore/python/setup.py index 35e7395c2b0c..5edb21a69e69 100755 --- a/samples/openapi3/client/petstore/python/setup.py +++ b/samples/openapi3/client/petstore/python/setup.py @@ -30,6 +30,7 @@ "pycryptodome >= 3.9.0", "pydantic >= 2", "typing-extensions >= 4.7.1", + "lazy-imports >= 1, < 2", ] setup(