openapi-python-client 0.25.2__tar.gz → 0.25.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/.gitignore +2 -1
  2. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/PKG-INFO +1 -1
  3. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/__init__.py +1 -1
  4. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/config.py +1 -0
  5. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/README.md.jinja +14 -1
  6. openapi_python_client-0.25.3/openapi_python_client/templates/pyproject.toml.jinja +9 -0
  7. openapi_python_client-0.25.3/openapi_python_client/templates/pyproject_pdm.toml.jinja +19 -0
  8. openapi_python_client-0.25.3/openapi_python_client/templates/pyproject_poetry.toml.jinja +20 -0
  9. openapi_python_client-0.25.3/openapi_python_client/templates/pyproject_uv.toml.jinja +23 -0
  10. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/pyproject.toml +1 -1
  11. openapi_python_client-0.25.2/openapi_python_client/templates/pyproject.toml.jinja +0 -49
  12. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/LICENSE +0 -0
  13. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/README.md +0 -0
  14. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/__main__.py +0 -0
  15. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/cli.py +0 -0
  16. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/__init__.py +0 -0
  17. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/bodies.py +0 -0
  18. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/errors.py +0 -0
  19. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/openapi.py +0 -0
  20. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/__init__.py +0 -0
  21. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/any.py +0 -0
  22. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/boolean.py +0 -0
  23. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/const.py +0 -0
  24. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/date.py +0 -0
  25. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/datetime.py +0 -0
  26. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/enum_property.py +0 -0
  27. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/file.py +0 -0
  28. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/float.py +0 -0
  29. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/int.py +0 -0
  30. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/list_property.py +0 -0
  31. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/literal_enum_property.py +0 -0
  32. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/merge_properties.py +0 -0
  33. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/model_property.py +0 -0
  34. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/none.py +0 -0
  35. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/property.py +0 -0
  36. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/protocol.py +0 -0
  37. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/schemas.py +0 -0
  38. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/string.py +0 -0
  39. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/union.py +0 -0
  40. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/properties/uuid.py +0 -0
  41. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/parser/responses.py +0 -0
  42. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/py.typed +0 -0
  43. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/3.0.3.md +0 -0
  44. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/3.1.0.md +0 -0
  45. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/__init__.py +0 -0
  46. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/data_type.py +0 -0
  47. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/LICENSE +0 -0
  48. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/README.md +0 -0
  49. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/__init__.py +0 -0
  50. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/callback.py +0 -0
  51. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/components.py +0 -0
  52. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/contact.py +0 -0
  53. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/discriminator.py +0 -0
  54. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/encoding.py +0 -0
  55. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/example.py +0 -0
  56. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/external_documentation.py +0 -0
  57. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/header.py +0 -0
  58. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/info.py +0 -0
  59. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/license.py +0 -0
  60. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/link.py +0 -0
  61. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/media_type.py +0 -0
  62. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/oauth_flow.py +0 -0
  63. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/oauth_flows.py +0 -0
  64. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/open_api.py +0 -0
  65. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/operation.py +0 -0
  66. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/parameter.py +0 -0
  67. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/path_item.py +0 -0
  68. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/paths.py +0 -0
  69. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/reference.py +0 -0
  70. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/request_body.py +0 -0
  71. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/response.py +0 -0
  72. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/responses.py +0 -0
  73. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/schema.py +0 -0
  74. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/security_requirement.py +0 -0
  75. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/security_scheme.py +0 -0
  76. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/server.py +0 -0
  77. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/server_variable.py +0 -0
  78. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/tag.py +0 -0
  79. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/openapi_schema_pydantic/xml.py +0 -0
  80. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/schema/parameter_location.py +0 -0
  81. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/.gitignore.jinja +0 -0
  82. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/api_init.py.jinja +0 -0
  83. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/client.py.jinja +0 -0
  84. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/endpoint_init.py.jinja +0 -0
  85. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/endpoint_macros.py.jinja +0 -0
  86. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/endpoint_module.py.jinja +0 -0
  87. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/errors.py.jinja +0 -0
  88. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/helpers.jinja +0 -0
  89. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/int_enum.py.jinja +0 -0
  90. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/literal_enum.py.jinja +0 -0
  91. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/model.py.jinja +0 -0
  92. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/models_init.py.jinja +0 -0
  93. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/package_init.py.jinja +0 -0
  94. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/any_property.py.jinja +0 -0
  95. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/boolean_property.py.jinja +0 -0
  96. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/const_property.py.jinja +0 -0
  97. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/date_property.py.jinja +0 -0
  98. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/datetime_property.py.jinja +0 -0
  99. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/enum_property.py.jinja +0 -0
  100. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/file_property.py.jinja +0 -0
  101. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/float_property.py.jinja +0 -0
  102. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/helpers.jinja +0 -0
  103. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/int_property.py.jinja +0 -0
  104. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/list_property.py.jinja +0 -0
  105. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/literal_enum_property.py.jinja +0 -0
  106. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/model_property.py.jinja +0 -0
  107. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/property_macros.py.jinja +0 -0
  108. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/union_property.py.jinja +0 -0
  109. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/property_templates/uuid_property.py.jinja +0 -0
  110. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/pyproject_ruff.toml.jinja +0 -0
  111. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/setup.py.jinja +0 -0
  112. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/str_enum.py.jinja +0 -0
  113. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/templates/types.py.jinja +0 -0
  114. {openapi_python_client-0.25.2 → openapi_python_client-0.25.3}/openapi_python_client/utils.py +0 -0
@@ -36,4 +36,5 @@ htmlcov/
36
36
  # Generated end to end test data
37
37
  my-test-api-client/
38
38
  custom-e2e/
39
- 3-1-features-client
39
+ 3-1-features-client
40
+ tests/tmp
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: openapi-python-client
3
- Version: 0.25.2
3
+ Version: 0.25.3
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>
@@ -184,7 +184,7 @@ class Project:
184
184
  readme = self.project_dir / "README.md"
185
185
  readme_template = self.env.get_template("README.md.jinja")
186
186
  readme.write_text(
187
- readme_template.render(poetry=self.config.meta_type == MetaType.POETRY),
187
+ readme_template.render(meta=self.config.meta_type),
188
188
  encoding=self.config.file_encoding,
189
189
  )
190
190
 
@@ -26,6 +26,7 @@ class MetaType(str, Enum):
26
26
  POETRY = "poetry"
27
27
  SETUP = "setup"
28
28
  PDM = "pdm"
29
+ UV = "uv"
29
30
 
30
31
 
31
32
  class ConfigFile(BaseModel):
@@ -109,7 +109,7 @@ client = Client(
109
109
  client.set_httpx_client(httpx.Client(base_url="https://api.example.com", proxies="http://localhost:8030"))
110
110
  ```
111
111
 
112
- {% if poetry %}
112
+ {% if meta == "poetry" %}
113
113
  ## Building / publishing this package
114
114
  This project uses [Poetry](https://python-poetry.org/) to manage dependencies and packaging. Here are the basics:
115
115
  1. Update the metadata in pyproject.toml (e.g. authors, version)
@@ -123,4 +123,17 @@ If you want to install this client into another project without publishing it (e
123
123
  1. If that project is not using Poetry:
124
124
  1. Build a wheel with `poetry build -f wheel`
125
125
  1. Install that wheel from the other project `pip install <path-to-wheel>`
126
+ {% elif meta == 'uv' %}
127
+ ## Building / publishing this package
128
+ This project uses [uv](https://github.com/astral-sh/uv) to manage dependencies and packaging. Here are the basics:
129
+ 1. Update the metadata in `pyproject.toml` (e.g. authors, version).
130
+ 2. If you're using a private repository: https://docs.astral.sh/uv/guides/integration/alternative-indexes/
131
+ 3. Build a distribution with `uv build`, builds `sdist` and `wheel` by default.
132
+ 1. Publish the client with `uv publish`, see documentation for publishing to private indexes.
133
+
134
+ If you want to install this client into another project without publishing it (e.g. for development) then:
135
+ 1. If that project **is using uv**, you can simply do `uv add <path-to-this-client>` from that project
136
+ 1. If that project is not using uv:
137
+ 1. Build a wheel with `uv build --wheel`.
138
+ 1. Install that wheel from the other project `pip install <path-to-wheel>`.
126
139
  {% endif %}
@@ -0,0 +1,9 @@
1
+ {% if meta == "poetry" %}
2
+ {% include "pyproject_poetry.toml.jinja" %}
3
+ {% elif meta == "pdm" %}
4
+ {% include "pyproject_pdm.toml.jinja" %}
5
+ {% elif meta == "uv" %}
6
+ {% include "pyproject_uv.toml.jinja" %}
7
+ {% endif %}
8
+
9
+ {% include "pyproject_ruff.toml.jinja" %}
@@ -0,0 +1,19 @@
1
+ [project]
2
+ name = "{{ project_name }}"
3
+ version = "{{ package_version }}"
4
+ description = "{{ package_description }}"
5
+ authors = []
6
+ readme = "README.md"
7
+ requires-python = ">=3.9,<4.0"
8
+ dependencies = [
9
+ "httpx>=0.23.0,<0.29.0",
10
+ "attrs>=22.2.0",
11
+ "python-dateutil>=2.8.0",
12
+ ]
13
+
14
+ [tool.pdm]
15
+ distribution = true
16
+
17
+ [build-system]
18
+ requires = ["pdm-backend"]
19
+ build-backend = "pdm.backend"
@@ -0,0 +1,20 @@
1
+ [tool.poetry]
2
+ name = "{{ project_name }}"
3
+ version = "{{ package_version }}"
4
+ description = "{{ package_description }}"
5
+ authors = []
6
+ readme = "README.md"
7
+ packages = [
8
+ { include = "{{ package_name }}" },
9
+ ]
10
+ include = ["CHANGELOG.md", "{{ package_name }}/py.typed"]
11
+
12
+ [tool.poetry.dependencies]
13
+ python = "^3.9"
14
+ httpx = ">=0.23.0,<0.29.0"
15
+ attrs = ">=22.2.0"
16
+ python-dateutil = "^2.8.0"
17
+
18
+ [build-system]
19
+ requires = ["poetry-core>=2.0.0,<3.0.0"]
20
+ build-backend = "poetry.core.masonry.api"
@@ -0,0 +1,23 @@
1
+ [project]
2
+ name = "{{ project_name }}"
3
+ version = "{{ package_version }}"
4
+ description = "{{ package_description }}"
5
+ authors = []
6
+ requires-python = "~=3.9"
7
+ readme = "README.md"
8
+ dependencies = [
9
+ "httpx>=0.23.0,<0.29.0",
10
+ "attrs>=22.2.0",
11
+ "python-dateutil>=2.8.0,<3",
12
+ ]
13
+
14
+ [tool.uv.build-backend]
15
+ module-name = "{{ package_name }}"
16
+ module-root = ""
17
+ data = [
18
+ "CHANGELOG.md",
19
+ ]
20
+
21
+ [build-system]
22
+ requires = ["uv_build>=0.8.0,<0.9.0"]
23
+ build-backend = "uv_build"
@@ -18,7 +18,7 @@ dependencies = [
18
18
  "typing-extensions>=4.8.0,<5.0.0",
19
19
  ]
20
20
  name = "openapi-python-client"
21
- version = "0.25.2"
21
+ version = "0.25.3"
22
22
  description = "Generate modern Python clients from OpenAPI"
23
23
  keywords = [
24
24
  "OpenAPI",
@@ -1,49 +0,0 @@
1
- {% set poetry = meta == "poetry" %}
2
- {% set pdm = meta == "pdm" %}
3
- {% if poetry or pdm %}
4
- {% if poetry %}[tool.poetry]
5
- {% elif pdm %}[project]
6
- {% endif %}
7
- name = "{{ project_name }}"
8
- version = "{{ package_version }}"
9
- description = "{{ package_description }}"
10
- authors = []
11
- readme = "README.md"
12
- {% if pdm %}requires-python = ">=3.9,<4.0"{% endif %}
13
- {% if poetry %}
14
- packages = [
15
- {include = "{{ package_name }}"},
16
- ]
17
- include = ["CHANGELOG.md", "{{ package_name }}/py.typed"]
18
- {% endif %}
19
-
20
- {% if pdm %}
21
- dependencies = [
22
- "httpx>=0.23.0,<0.29.0",
23
- "attrs>=22.2.0",
24
- "python-dateutil>=2.8.0",
25
- ]
26
-
27
- [tool.pdm]
28
- distribution = true
29
- {% endif %}
30
- {% if poetry %}
31
-
32
- [tool.poetry.dependencies]
33
- python = "^3.9"
34
- httpx = ">=0.23.0,<0.29.0"
35
- attrs = ">=22.2.0"
36
- python-dateutil = "^2.8.0"
37
- {% endif %}
38
-
39
- [build-system]
40
- {% if poetry %}
41
- requires = ["poetry-core>=1.0.0"]
42
- build-backend = "poetry.core.masonry.api"
43
- {% elif pdm %}
44
- requires = ["pdm-backend"]
45
- build-backend = "pdm.backend"
46
- {% endif %}
47
- {% endif %}{# poetry or pdm #}
48
-
49
- {% include "pyproject_ruff.toml.jinja" %}