openapi-python-client 0.28.3__py3-none-any.whl → 0.29.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. openapi_python_client/__init__.py +1 -1
  2. openapi_python_client/config.py +2 -2
  3. openapi_python_client/parser/bodies.py +6 -16
  4. openapi_python_client/parser/properties/date.py +4 -4
  5. openapi_python_client/parser/properties/datetime.py +4 -4
  6. openapi_python_client/parser/properties/enum_property.py +3 -1
  7. openapi_python_client/parser/properties/schemas.py +1 -1
  8. openapi_python_client/schema/data_type.py +2 -2
  9. openapi_python_client/schema/parameter_location.py +7 -22
  10. openapi_python_client/templates/endpoint_module.py.jinja +7 -1
  11. openapi_python_client/templates/literal_enum.py.jinja +2 -2
  12. openapi_python_client/templates/property_templates/date_property.py.jinja +1 -1
  13. openapi_python_client/templates/property_templates/datetime_property.py.jinja +1 -1
  14. openapi_python_client/templates/pyproject_pdm.toml.jinja +2 -3
  15. openapi_python_client/templates/pyproject_poetry.toml.jinja +2 -3
  16. openapi_python_client/templates/pyproject_uv.toml.jinja +3 -4
  17. openapi_python_client/templates/setup.py.jinja +2 -2
  18. {openapi_python_client-0.28.3.dist-info → openapi_python_client-0.29.0.dist-info}/METADATA +4 -6
  19. {openapi_python_client-0.28.3.dist-info → openapi_python_client-0.29.0.dist-info}/RECORD +22 -22
  20. {openapi_python_client-0.28.3.dist-info → openapi_python_client-0.29.0.dist-info}/WHEEL +0 -0
  21. {openapi_python_client-0.28.3.dist-info → openapi_python_client-0.29.0.dist-info}/entry_points.txt +0 -0
  22. {openapi_python_client-0.28.3.dist-info → openapi_python_client-0.29.0.dist-info}/licenses/LICENSE +0 -0
@@ -126,7 +126,7 @@ class Project:
126
126
  self._run_command(command)
127
127
 
128
128
  def _run_command(self, cmd: str) -> None:
129
- cmd_name = cmd.split(" ")[0]
129
+ cmd_name = cmd.split(" ", maxsplit=1)[0]
130
130
  command_exists = shutil.which(cmd_name)
131
131
  if not command_exists:
132
132
  self.errors.append(
@@ -1,6 +1,6 @@
1
1
  import json
2
2
  import mimetypes
3
- from enum import Enum
3
+ from enum import StrEnum
4
4
  from pathlib import Path
5
5
 
6
6
  from attr import define
@@ -18,7 +18,7 @@ class ClassOverride(BaseModel):
18
18
  module_name: str | None = None
19
19
 
20
20
 
21
- class MetaType(str, Enum):
21
+ class MetaType(StrEnum):
22
22
  """The types of metadata supported for project generation."""
23
23
 
24
24
  NONE = "none"
@@ -1,4 +1,4 @@
1
- import sys
1
+ from enum import StrEnum
2
2
 
3
3
  import attr
4
4
 
@@ -15,22 +15,12 @@ from ..config import Config
15
15
  from ..utils import get_content_type
16
16
  from .errors import ErrorLevel, ParseError
17
17
 
18
- if sys.version_info >= (3, 11):
19
- from enum import StrEnum
20
18
 
21
- class BodyType(StrEnum):
22
- JSON = "json"
23
- DATA = "data"
24
- FILES = "files"
25
- CONTENT = "content"
26
- else:
27
- from enum import Enum
28
-
29
- class BodyType(str, Enum):
30
- JSON = "json"
31
- DATA = "data"
32
- FILES = "files"
33
- CONTENT = "content"
19
+ class BodyType(StrEnum):
20
+ JSON = "json"
21
+ DATA = "data"
22
+ FILES = "files"
23
+ CONTENT = "content"
34
24
 
35
25
 
36
26
  @attr.define
@@ -1,9 +1,9 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import datetime
3
4
  from typing import Any, ClassVar
4
5
 
5
6
  from attr import define
6
- from dateutil.parser import isoparse
7
7
 
8
8
  from ...utils import PythonIdentifier
9
9
  from ..errors import PropertyError
@@ -54,10 +54,10 @@ class DateProperty(PropertyProtocol):
54
54
  return value
55
55
  if isinstance(value, str):
56
56
  try:
57
- isoparse(value).date() # make sure it's a valid value
57
+ datetime.date.fromisoformat(value) # make sure it's a valid value
58
58
  except ValueError as e:
59
59
  return PropertyError(f"Invalid date: {e}")
60
- return Value(python_code=f"isoparse({value!r}).date()", raw_value=value)
60
+ return Value(python_code=f"datetime.date.fromisoformat({value!r})", raw_value=value)
61
61
  return PropertyError(f"Cannot convert {value} to a date")
62
62
 
63
63
  def get_imports(self, *, prefix: str) -> set[str]:
@@ -69,5 +69,5 @@ class DateProperty(PropertyProtocol):
69
69
  back to the root of the generated client.
70
70
  """
71
71
  imports = super().get_imports(prefix=prefix)
72
- imports.update({"import datetime", "from typing import cast", "from dateutil.parser import isoparse"})
72
+ imports.update({"import datetime", "from typing import cast"})
73
73
  return imports
@@ -1,9 +1,9 @@
1
1
  from __future__ import annotations
2
2
 
3
+ import datetime
3
4
  from typing import Any, ClassVar
4
5
 
5
6
  from attr import define
6
- from dateutil.parser import isoparse
7
7
 
8
8
  from ...utils import PythonIdentifier
9
9
  from ..errors import PropertyError
@@ -56,10 +56,10 @@ class DateTimeProperty(PropertyProtocol):
56
56
  return value
57
57
  if isinstance(value, str):
58
58
  try:
59
- isoparse(value) # make sure it's a valid value
59
+ datetime.datetime.fromisoformat(value) # make sure it's a valid value
60
60
  except ValueError as e:
61
61
  return PropertyError(f"Invalid datetime: {e}")
62
- return Value(python_code=f"isoparse({value!r})", raw_value=value)
62
+ return Value(python_code=f"datetime.datetime.fromisoformat({value!r})", raw_value=value)
63
63
  return PropertyError(f"Cannot convert {value} to a datetime")
64
64
 
65
65
  def get_imports(self, *, prefix: str) -> set[str]:
@@ -71,5 +71,5 @@ class DateTimeProperty(PropertyProtocol):
71
71
  back to the root of the generated client.
72
72
  """
73
73
  imports = super().get_imports(prefix=prefix)
74
- imports.update({"import datetime", "from typing import cast", "from dateutil.parser import isoparse"})
74
+ imports.update({"import datetime", "from typing import cast"})
75
75
  return imports
@@ -201,7 +201,9 @@ class EnumProperty(PropertyProtocol):
201
201
  else:
202
202
  output[f"VALUE_{value}"] = value
203
203
  continue
204
- if value and value[0].isalpha():
204
+ if use_var_names:
205
+ key = var_names[i]
206
+ elif value and value[0].isalpha():
205
207
  key = value.upper()
206
208
  else:
207
209
  key = f"VALUE_{i}"
@@ -50,7 +50,7 @@ def get_reference_simple_name(ref_path: str) -> str:
50
50
  """
51
51
  Takes a path like `/components/schemas/NameOfThing` and returns a string like `NameOfThing`.
52
52
  """
53
- return ref_path.split("/")[-1]
53
+ return ref_path.rsplit("/", maxsplit=1)[-1]
54
54
 
55
55
 
56
56
  @define
@@ -1,7 +1,7 @@
1
- from enum import Enum
1
+ from enum import StrEnum
2
2
 
3
3
 
4
- class DataType(str, Enum):
4
+ class DataType(StrEnum):
5
5
  """The data type of a schema is defined by the type keyword
6
6
 
7
7
  References:
@@ -1,25 +1,10 @@
1
- # Python 3.11 has StrEnum but breaks the old `str, Enum` hack.
2
- # Unless this gets fixed, we need to have two implementations :(
3
- import sys
1
+ from enum import StrEnum
4
2
 
5
- if sys.version_info >= (3, 11):
6
- from enum import StrEnum
7
3
 
8
- class ParameterLocation(StrEnum):
9
- """The places Parameters can be put when calling an Endpoint"""
4
+ class ParameterLocation(StrEnum):
5
+ """The places Parameters can be put when calling an Endpoint"""
10
6
 
11
- QUERY = "query"
12
- PATH = "path"
13
- HEADER = "header"
14
- COOKIE = "cookie"
15
-
16
- else:
17
- from enum import Enum
18
-
19
- class ParameterLocation(str, Enum):
20
- """The places Parameters can be put when calling an Endpoint"""
21
-
22
- QUERY = "query"
23
- PATH = "path"
24
- HEADER = "header"
25
- COOKIE = "cookie"
7
+ QUERY = "query"
8
+ PATH = "path"
9
+ HEADER = "header"
10
+ COOKIE = "cookie"
@@ -50,12 +50,18 @@ def _get_kwargs(
50
50
  {% for body in endpoint.bodies %}
51
51
  if isinstance(body, {{body.prop.get_type_string(no_optional=True) }}):
52
52
  {{ body_to_kwarg(body) | indent(8) }}
53
+ {%- if body.content_type == "multipart/form-data" %}
54
+ headers["Content-Type"] = "multipart/form-data; boundary=+++"
55
+ {% else %}
53
56
  headers["Content-Type"] = "{{ body.content_type }}"
57
+ {% endif %}
54
58
  {% endfor %}
55
59
  {% elif endpoint.bodies | length == 1 %}
56
60
  {% set body = endpoint.bodies[0] %}
57
61
  {{ body_to_kwarg(body) | indent(4) }}
58
- {% if body.content_type != "multipart/form-data" %}{# Need httpx to set the boundary automatically #}
62
+ {%- if body.content_type == "multipart/form-data" %}
63
+ headers["Content-Type"] = "multipart/form-data; boundary=+++"
64
+ {% else %}
59
65
  headers["Content-Type"] = "{{ body.content_type }}"
60
66
  {% endif %}
61
67
  {% endif %}
@@ -1,4 +1,4 @@
1
- from typing import Literal, cast
1
+ from typing import Literal
2
2
 
3
3
  {{ enum.class_info.name }} = Literal{{ "%r" | format(enum.values|list|sort) }}
4
4
 
@@ -6,5 +6,5 @@ from typing import Literal, cast
6
6
 
7
7
  def check_{{ enum.get_class_name_snake_case() }}(value: {{ enum.get_instance_type_string() }}) -> {{ enum.class_info.name}}:
8
8
  if value in {{ enum.get_class_name_snake_case() | upper }}_VALUES:
9
- return cast({{enum.class_info.name}}, value)
9
+ return value
10
10
  raise TypeError(f"Unexpected value {value!r}. Expected one of {{"{"}}{{ enum.get_class_name_snake_case() | upper }}_VALUES!r}")
@@ -1,5 +1,5 @@
1
1
  {% macro construct_function(property, source) %}
2
- isoparse({{ source }}).date()
2
+ datetime.date.fromisoformat({{ source }})
3
3
  {% endmacro %}
4
4
 
5
5
  {% from "property_templates/property_macros.py.jinja" import construct_template %}
@@ -1,5 +1,5 @@
1
1
  {% macro construct_function(property, source) %}
2
- isoparse({{ source }})
2
+ datetime.datetime.fromisoformat({{ source }})
3
3
  {% endmacro %}
4
4
 
5
5
  {% from "property_templates/property_macros.py.jinja" import construct_template %}
@@ -4,11 +4,10 @@ version = "{{ package_version }}"
4
4
  description = "{{ package_description }}"
5
5
  authors = []
6
6
  readme = "README.md"
7
- requires-python = ">=3.10"
7
+ requires-python = ">=3.11"
8
8
  dependencies = [
9
- "httpx>=0.23.0,<0.29.0",
9
+ "httpx>=0.23.1,<0.29.0",
10
10
  "attrs>=22.2.0",
11
- "python-dateutil>=2.8.0",
12
11
  ]
13
12
 
14
13
  [tool.pdm]
@@ -10,10 +10,9 @@ packages = [
10
10
  include = ["{{ package_name }}/py.typed"]
11
11
 
12
12
  [tool.poetry.dependencies]
13
- python = "^3.10"
14
- httpx = ">=0.23.0,<0.29.0"
13
+ python = "^3.11"
14
+ httpx = ">=0.23.1,<0.29.0"
15
15
  attrs = ">=22.2.0"
16
- python-dateutil = "^2.8.0"
17
16
 
18
17
  [build-system]
19
18
  requires = ["poetry-core>=2.0.0,<3.0.0"]
@@ -3,12 +3,11 @@ name = "{{ project_name }}"
3
3
  version = "{{ package_version }}"
4
4
  description = "{{ package_description }}"
5
5
  authors = []
6
- requires-python = ">=3.10"
6
+ requires-python = ">=3.11"
7
7
  readme = "README.md"
8
8
  dependencies = [
9
- "httpx>=0.23.0,<0.29.0",
9
+ "httpx>=0.23.1,<0.29.0",
10
10
  "attrs>=22.2.0",
11
- "python-dateutil>=2.8.0,<3",
12
11
  ]
13
12
 
14
13
  [tool.uv.build-backend]
@@ -16,5 +15,5 @@ module-name = "{{ package_name }}"
16
15
  module-root = ""
17
16
 
18
17
  [build-system]
19
- requires = ["uv_build>=0.10.0,<0.11.0"]
18
+ requires = ["uv_build>=0.11.0,<0.12.0"]
20
19
  build-backend = "uv_build"
@@ -12,7 +12,7 @@ setup(
12
12
  long_description=long_description,
13
13
  long_description_content_type="text/markdown",
14
14
  packages=find_packages(),
15
- python_requires=">=3.10, <4",
16
- install_requires=["httpx >= 0.23.0, < 0.29.0", "attrs >= 22.2.0", "python-dateutil >= 2.8.0, < 3"],
15
+ python_requires=">=3.11, <4",
16
+ install_requires=["httpx >= 0.23.1, < 0.29.0", "attrs >= 22.2.0"],
17
17
  package_data={"{{ package_name }}": ["py.typed"]},
18
18
  )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openapi-python-client
3
- Version: 0.28.3
3
+ Version: 0.29.0
4
4
  Summary: Generate modern Python clients from OpenAPI
5
5
  Project-URL: repository, https://github.com/openapi-generators/openapi-python-client
6
6
  Author-email: Dylan Anthony <contact@dylananthony.com>
@@ -11,24 +11,22 @@ Classifier: Development Status :: 4 - Beta
11
11
  Classifier: Intended Audience :: Developers
12
12
  Classifier: License :: OSI Approved :: MIT License
13
13
  Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.10
15
14
  Classifier: Programming Language :: Python :: 3.11
16
15
  Classifier: Programming Language :: Python :: 3.12
17
16
  Classifier: Programming Language :: Python :: 3.13
18
17
  Classifier: Programming Language :: Python :: 3.14
19
18
  Classifier: Topic :: Software Development :: Code Generators
20
19
  Classifier: Typing :: Typed
21
- Requires-Python: <4.0,>=3.10
20
+ Requires-Python: <4.0,>=3.11
22
21
  Requires-Dist: attrs>=22.2.0
23
22
  Requires-Dist: colorama>=0.4.3; sys_platform == 'win32'
24
- Requires-Dist: httpx<0.29.0,>=0.23.0
23
+ Requires-Dist: httpx<0.29.0,>=0.23.1
25
24
  Requires-Dist: jinja2<4.0.0,>=3.0.0
26
25
  Requires-Dist: pydantic<3.0.0,>=2.10
27
- Requires-Dist: python-dateutil<3.0.0,>=2.8.1
28
26
  Requires-Dist: ruamel-yaml<0.20.0,>=0.18.6
29
27
  Requires-Dist: ruff>=0.2
30
28
  Requires-Dist: shellingham<2.0.0,>=1.3.2
31
- Requires-Dist: typer<0.25,>0.16
29
+ Requires-Dist: typer<0.27,>0.16
32
30
  Description-Content-Type: text/markdown
33
31
 
34
32
  ![Run Checks](https://github.com/openapi-generators/openapi-python-client/workflows/Run%20Checks/badge.svg)
@@ -1,11 +1,11 @@
1
- openapi_python_client/__init__.py,sha256=tjBvMhXGDzc6DIAlBw221MtVvV7YxDToo-offC9rQsM,13986
1
+ openapi_python_client/__init__.py,sha256=CIR8xE-p3P3S30U0yxoVZqM2guwHFVEVz-rXYvO3dhA,13998
2
2
  openapi_python_client/__main__.py,sha256=wcCrL4PjG51r5wVKqJhcoJPTLfHW0wNbD31DrUN0MWI,28
3
3
  openapi_python_client/cli.py,sha256=juVojdKeZNpzk4jWjD4bWx-f2X-1qIZLPB8nM9RljyY,5488
4
- openapi_python_client/config.py,sha256=DeuP2rd1jgxJq0GuOPi9167407VpuFzLaSsGn2v5BZY,4148
4
+ openapi_python_client/config.py,sha256=7fQk9UFquouvh5m-A12Mqk_dtKsjC86shokrmqkz8rE,4149
5
5
  openapi_python_client/py.typed,sha256=8PjyZ1aVoQpRVvt71muvuq5qE-jTFZkK-GLHkhdebmc,26
6
6
  openapi_python_client/utils.py,sha256=axPyIeoEq3I8QSGtFPgZR3sDOpmGsguDZO3y0pnjp8M,3936
7
7
  openapi_python_client/parser/__init__.py,sha256=dpY1jYmWFPBubtjKCZIlg2uHC_DLC-KpfuMNdQF8RUc,177
8
- openapi_python_client/parser/bodies.py,sha256=K0_mHC2Kmko_6cI17G_A9B02p8VbopI-tG7xWOr8pz8,4738
8
+ openapi_python_client/parser/bodies.py,sha256=IiP0wNHonIyx8ThGOUhpzJhhBF4BBINfSbV2Zp5vpdY,4511
9
9
  openapi_python_client/parser/errors.py,sha256=COPpNRWjPGUWlgebwJetBhuVy2NkHQ63WWKJ9Skcimw,1191
10
10
  openapi_python_client/parser/openapi.py,sha256=3-GEyy6EuG0bm550pO-f60lRmqLmQDjCiBjWvYtkISo,22953
11
11
  openapi_python_client/parser/responses.py,sha256=azrr6p1zyAjncGkiuQS5QunVfO-FMZTiqeSaJXYqgH8,8540
@@ -13,9 +13,9 @@ openapi_python_client/parser/properties/__init__.py,sha256=Y6AlvUoNbnTBOkQjVSq1P
13
13
  openapi_python_client/parser/properties/any.py,sha256=pj8KdhwS1M0cxNC_Y1MKdCPtp0YT3WVMAyZX-4bnyVc,1339
14
14
  openapi_python_client/parser/properties/boolean.py,sha256=xdkZyiUvdhKmEmGmaT88biPGoocsgbjxbqzv_2mlkv8,2042
15
15
  openapi_python_client/parser/properties/const.py,sha256=Gwafr49qee0bugqsGLPR_bGEfBM9azkUQzlECbQrCJg,3717
16
- openapi_python_client/parser/properties/date.py,sha256=1OzUNLJef3V6uWswM_Z_H3TjULDaN9xGWFNSk2ZCnLk,2354
17
- openapi_python_client/parser/properties/datetime.py,sha256=J9BWgoZE1jK0Td625SrBUdThch6vgKAR-Iox2aUQBcE,2382
18
- openapi_python_client/parser/properties/enum_property.py,sha256=dvxh9tY2tn7PXJPDVofEc1A7UCcE_YdR2umKVmkSHzU,8721
16
+ openapi_python_client/parser/properties/date.py,sha256=-a2pMvJrz9ddGWfPebwOFZ_-zqjpP9bPEl8kHjRm1zk,2317
17
+ openapi_python_client/parser/properties/datetime.py,sha256=H-4ipPTnnXbiCTKXWIsJlp7NjR6_Pd1hBUf7qlAO4EA,2367
18
+ openapi_python_client/parser/properties/enum_property.py,sha256=Pa1PNJrSqjn8PrRdYIKGLCxgyo8XMUjfQb8XvgTHlf0,8788
19
19
  openapi_python_client/parser/properties/file.py,sha256=8FucE3jpkXti6QyfxyoZXKmQtaiJM7FewfCPiB39s1s,1994
20
20
  openapi_python_client/parser/properties/float.py,sha256=Ent7smCPFPBZAmxVykD2NgHXv6uCZxabAsenYB_AuSA,2201
21
21
  openapi_python_client/parser/properties/int.py,sha256=O455r8xjI4e6KHjhoblHHNHZYi6tWu-c2KBTCguKmbM,2200
@@ -26,15 +26,15 @@ openapi_python_client/parser/properties/model_property.py,sha256=MF0NCyFoR4oFMSw
26
26
  openapi_python_client/parser/properties/none.py,sha256=BPx6lDyEicMyiWnxcVIuKPZrm0zsoGGUDbrEXJdDizA,1754
27
27
  openapi_python_client/parser/properties/property.py,sha256=tUNaC-96EKSqpuqW_4NeEp9LG7_PMUeE0DOkIXU89M0,971
28
28
  openapi_python_client/parser/properties/protocol.py,sha256=i4Z8Dy-Yx8vucvKuRfJ97OZSZUtw3ErFXWAbnTEP6U8,6343
29
- openapi_python_client/parser/properties/schemas.py,sha256=kTM8Z2L8WIR2n3wcxUkUAAh440ZpRdrbTyUQXDdOUd8,8555
29
+ openapi_python_client/parser/properties/schemas.py,sha256=wG4ZFMY3RUWNSXd2B1FxROyxZf7rUQeYTw-1LQ6slHg,8568
30
30
  openapi_python_client/parser/properties/string.py,sha256=G4Apny6OXkjVQd-SUjBUe5i2pBL7VaVxE2aGDTXGmpM,1895
31
31
  openapi_python_client/parser/properties/union.py,sha256=NMNnrFmQunKc23wVSdJ4u0UkWU72yG-FdWDLnGUTlTk,8631
32
32
  openapi_python_client/parser/properties/uuid.py,sha256=kuVZDs0VytchgfmNYRr5trlhU3uyWWdChyta3C9LDTE,2452
33
33
  openapi_python_client/schema/3.0.3.md,sha256=0a25-q_HFDVcsxOnMOGeTo67K4FtLHqMfI5U8VwneJg,126244
34
34
  openapi_python_client/schema/3.1.0.md,sha256=O4SlQ2wux5Sa68Q9jrCcZYEJ5RcqXniJ9pSixtR15Rc,131397
35
35
  openapi_python_client/schema/__init__.py,sha256=ZtvZ4l01q99geOkPq6V1_QmFesqZbGb3L1UF8huKNIg,507
36
- openapi_python_client/schema/data_type.py,sha256=-7_l2lfBIjRKNuufMqzyD2geY0dmplQ0dLgdxawKjWo,451
37
- openapi_python_client/schema/parameter_location.py,sha256=BwUnomk-CA234m91AS8Jca35UdSVQrtNIr-a1ejtyFo,656
36
+ openapi_python_client/schema/data_type.py,sha256=-YJVw_47psCr57Jd-A2o20zltksb-gNJBBwjXz6SYdU,452
37
+ openapi_python_client/schema/parameter_location.py,sha256=JhMzMAIwDWsQ7nzYLUhIZCZ666Z8bdhYXzsjV01jAos,212
38
38
  openapi_python_client/schema/openapi_schema_pydantic/LICENSE,sha256=yoy6owJ7bArVSVjpCNoU0zuGiN3LAxqNVQ1_ZAumOf8,1064
39
39
  openapi_python_client/schema/openapi_schema_pydantic/README.md,sha256=LamzQvAYwLzJxutVBn1hffpquePeKoJdqZSXKfzwE_s,1996
40
40
  openapi_python_client/schema/openapi_schema_pydantic/__init__.py,sha256=n06seSNejSl9FhIBZ-RGUp0hLEz9adX1Hdbhjg3OqJY,2076
@@ -74,27 +74,27 @@ openapi_python_client/templates/api_init.py.jinja,sha256=87ApBzKyGb5zsgTMOkQXDqs
74
74
  openapi_python_client/templates/client.py.jinja,sha256=SRU2vf7Rm5fP5IAoZ7cGzihoZJXBDrJNoNdyKjBABAg,8321
75
75
  openapi_python_client/templates/endpoint_init.py.jinja,sha256=wYN6A3_bvYW13B1J9YvYCmcv5Els-q-E07kZJwJ7Vto,58
76
76
  openapi_python_client/templates/endpoint_macros.py.jinja,sha256=OP5BsB9qSSDDugORysyaU8nm_bXHQzNR36B4WMyPrN0,7344
77
- openapi_python_client/templates/endpoint_module.py.jinja,sha256=oZvB6j3UcgjF5bdFc7txvnjftMJz0ERyuBaSAxYLhCk,4831
77
+ openapi_python_client/templates/endpoint_module.py.jinja,sha256=8ktiGQkR2trsZAsSF9pG6oJsGS8rN0wX384LdckrQNU,5033
78
78
  openapi_python_client/templates/errors.py.jinja,sha256=trp-p5qn1_JLRxGZhdHtICaNPaCrcDCe4TgIihBravk,546
79
79
  openapi_python_client/templates/helpers.jinja,sha256=sgspXEG683IhJ0hdcnWx9M9S7-Wgrdev7YuAxf_rZ0k,339
80
80
  openapi_python_client/templates/int_enum.py.jinja,sha256=z4d2hVsdgmlxUB1fbVs4w8tJaq2SdmhLjs4mjbZ5GLw,224
81
- openapi_python_client/templates/literal_enum.py.jinja,sha256=KY2aadYZYFjIMAFXDX8ZsUCGmKiiPR36GmFSBqXWEk8,658
81
+ openapi_python_client/templates/literal_enum.py.jinja,sha256=_iBdO5UV-CQVlMf7SvdTU29j92O3f63O48fxDjOwE1g,620
82
82
  openapi_python_client/templates/model.py.jinja,sha256=L_AyZ46BuqL47ymWmNp7dPL1jdHuLGeF1z1x0NnUHh8,8433
83
83
  openapi_python_client/templates/models_init.py.jinja,sha256=T2Sj1uGxWlYb5Vc8G3cC65KMDk-mtnEH0g5Xp0xE1Ro,233
84
84
  openapi_python_client/templates/package_init.py.jinja,sha256=EMOU4q7ceaoKJItVKu52vrRTD-BzhrNBjB8VZHN5LgY,196
85
85
  openapi_python_client/templates/pyproject.toml.jinja,sha256=rBaFq0oqlGeW-NesqPeF_BGCnEEB4P2Qq95vIrGOFQQ,255
86
- openapi_python_client/templates/pyproject_pdm.toml.jinja,sha256=-smKXl8KcB38cOTZUw0YGDXqHIJZb_5feMZAxedR2ow,379
87
- openapi_python_client/templates/pyproject_poetry.toml.jinja,sha256=2uuXaiTGNs9uy0jM1CRBfEnThQpv-zJ9uKPqfs6xy9k,466
86
+ openapi_python_client/templates/pyproject_pdm.toml.jinja,sha256=gUaXAXyr0mfxQH4npIT6t6APW_nV4AcKiqAEmv3Mm9s,349
87
+ openapi_python_client/templates/pyproject_poetry.toml.jinja,sha256=JJnN2wbj1LswADdRl8AKtHWBzOV6xBoWFDI3NDm4SWE,439
88
88
  openapi_python_client/templates/pyproject_ruff.toml.jinja,sha256=OgFfCd9Ca3YsU8WdCxqJoJdCJEtzADpxAxfMghqzn80,74
89
- openapi_python_client/templates/pyproject_uv.toml.jinja,sha256=ehvhGSpqppjkdyHiLWGzeRasXHewIHlCNODUb0ud_Ps,437
90
- openapi_python_client/templates/setup.py.jinja,sha256=DyYTxpmL0Yyxhl8bQHwyXWJ3HepE1lQVD_CL6IF6Bmw,612
89
+ openapi_python_client/templates/pyproject_uv.toml.jinja,sha256=7k3LdakMCmmLP6kar_REj10SQMO0gFmnO53XARjqFj4,404
90
+ openapi_python_client/templates/setup.py.jinja,sha256=GNxugd0REvUrsENY9lomi0l5Ea-ceygDQHS7zVosjEc,579
91
91
  openapi_python_client/templates/str_enum.py.jinja,sha256=5SxGRu_sZxEILC425D45YSu8s12vJGM2PWwYWjOUl8M,232
92
92
  openapi_python_client/templates/types.py.jinja,sha256=k9-ddYg6Tq-sd90hvGkH8-9hLj94QeCGVmGNz2xM5JQ,1350
93
93
  openapi_python_client/templates/property_templates/any_property.py.jinja,sha256=H1-aMl9Mxs9z-gXQUw9MCNNrGYewG1p0s43flY4YHtA,135
94
94
  openapi_python_client/templates/property_templates/boolean_property.py.jinja,sha256=3xghrbqSeUh-Qk1vdaWb_RxGOBNjhfKFf9EBOmMOBzU,225
95
95
  openapi_python_client/templates/property_templates/const_property.py.jinja,sha256=KW71ytG-Tnx-v7ZptxtTu5Ek-xXYNiybBEwFNd6ewYw,565
96
- openapi_python_client/templates/property_templates/date_property.py.jinja,sha256=n1_rOOnOG6df-TLatCGuSz6mT4s9pLBN-H47e7lhzPg,1108
97
- openapi_python_client/templates/property_templates/datetime_property.py.jinja,sha256=GTJDYg07qiPvD4-jZQKkuFOzL4DvPGYA74ryn9SpDoE,1121
96
+ openapi_python_client/templates/property_templates/date_property.py.jinja,sha256=XHZ0AwZ9A0QZJm9knzvcUN1Fp8adjfVlckaY0W9KOIE,1120
97
+ openapi_python_client/templates/property_templates/datetime_property.py.jinja,sha256=TAW7OlEXjtPVjsyGM6092OaptUbFHuO9XNhLvo_khpM,1144
98
98
  openapi_python_client/templates/property_templates/enum_property.py.jinja,sha256=kok1m_iqFjBN69UvAC2Ogm7zl1X4Hpw9cX0lCfuyZQ4,1150
99
99
  openapi_python_client/templates/property_templates/file_property.py.jinja,sha256=KCXeeXwQuoa82VVG0So31KP3cUEbwudJr56BdgrjJTQ,951
100
100
  openapi_python_client/templates/property_templates/float_property.py.jinja,sha256=vMZbRtomIEPvnKy95fT4QNQRrufv5xgdSnZ97xSN38U,207
@@ -106,8 +106,8 @@ openapi_python_client/templates/property_templates/model_property.py.jinja,sha25
106
106
  openapi_python_client/templates/property_templates/property_macros.py.jinja,sha256=s0DqGOc8rbEKptUtH1tAht08wahN3xXpaGfyzVa3Kog,580
107
107
  openapi_python_client/templates/property_templates/union_property.py.jinja,sha256=LdIEhIQbX4z6fuJRFxaj_RV0GTGrPBnO6tXBOymQbak,4162
108
108
  openapi_python_client/templates/property_templates/uuid_property.py.jinja,sha256=U31Y1inocw3aGzCinaYWrFcUu-T4f8Miht7tIaf6QiY,1075
109
- openapi_python_client-0.28.3.dist-info/METADATA,sha256=E_Dqwz4e-xxmhBHkQYudv7RNrx_eDTzEylAEtQaa7z0,11687
110
- openapi_python_client-0.28.3.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
111
- openapi_python_client-0.28.3.dist-info/entry_points.txt,sha256=iRfSdN2foASZXr8GghkYa6KRXkDgO0EFfLut5IXoBTU,72
112
- openapi_python_client-0.28.3.dist-info/licenses/LICENSE,sha256=4dpxQYqY0DB3aTauRrqYRuu6BVNsPSJdYeUT3sH6pQY,1075
113
- openapi_python_client-0.28.3.dist-info/RECORD,,
109
+ openapi_python_client-0.29.0.dist-info/METADATA,sha256=kk6_uV8OWfWXHeKHF3MGUjRlJTs46HeVs_fx6sldcrc,11591
110
+ openapi_python_client-0.29.0.dist-info/WHEEL,sha256=QccIxa26bgl1E6uMy58deGWi-0aeIkkangHcxk2kWfw,87
111
+ openapi_python_client-0.29.0.dist-info/entry_points.txt,sha256=iRfSdN2foASZXr8GghkYa6KRXkDgO0EFfLut5IXoBTU,72
112
+ openapi_python_client-0.29.0.dist-info/licenses/LICENSE,sha256=4dpxQYqY0DB3aTauRrqYRuu6BVNsPSJdYeUT3sH6pQY,1075
113
+ openapi_python_client-0.29.0.dist-info/RECORD,,