clientele 2.3.0__tar.gz → 2.3.1__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 (248) hide show
  1. {clientele-2.3.0 → clientele-2.3.1}/CHANGELOG.md +5 -0
  2. {clientele-2.3.0 → clientele-2.3.1}/PKG-INFO +2 -2
  3. {clientele-2.3.0 → clientele-2.3.1}/SECURITY.md +2 -2
  4. {clientele-2.3.0 → clientele-2.3.1}/clientele/api/client.py +3 -3
  5. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/shared/schemas.py +1 -1
  6. {clientele-2.3.0 → clientele-2.3.1}/clientele/settings.py +1 -1
  7. {clientele-2.3.0 → clientele-2.3.1}/docs/CHANGELOG.md +5 -0
  8. {clientele-2.3.0 → clientele-2.3.1}/docs/install.md +1 -1
  9. {clientele-2.3.0 → clientele-2.3.1}/pyproject.toml +1 -1
  10. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/MANIFEST.md +1 -1
  11. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/MANIFEST.md +1 -1
  12. {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/MANIFEST.md +1 -1
  13. {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/schemas.py +1 -1
  14. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/MANIFEST.md +1 -1
  15. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/schemas.py +1 -1
  16. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_basic_client/MANIFEST.md +1 -1
  17. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/MANIFEST.md +1 -1
  18. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/schemas.py +1 -1
  19. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/shared/test_schemas.py +2 -2
  20. {clientele-2.3.0 → clientele-2.3.1}/uv.lock +1 -1
  21. {clientele-2.3.0 → clientele-2.3.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  22. {clientele-2.3.0 → clientele-2.3.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  23. {clientele-2.3.0 → clientele-2.3.1}/.github/compatibility.json +0 -0
  24. {clientele-2.3.0 → clientele-2.3.1}/.github/dependabot.yml +0 -0
  25. {clientele-2.3.0 → clientele-2.3.1}/.github/pull_request_template.md +0 -0
  26. {clientele-2.3.0 → clientele-2.3.1}/.github/workflows/ci.yml +0 -0
  27. {clientele-2.3.0 → clientele-2.3.1}/.gitignore +0 -0
  28. {clientele-2.3.0 → clientele-2.3.1}/CODE_OF_CONDUCT.md +0 -0
  29. {clientele-2.3.0 → clientele-2.3.1}/CONTRIBUTING.md +0 -0
  30. {clientele-2.3.0 → clientele-2.3.1}/CONTRIBUTORS.md +0 -0
  31. {clientele-2.3.0 → clientele-2.3.1}/LICENSE +0 -0
  32. {clientele-2.3.0 → clientele-2.3.1}/Makefile +0 -0
  33. {clientele-2.3.0 → clientele-2.3.1}/PUBLISHING.md +0 -0
  34. {clientele-2.3.0 → clientele-2.3.1}/README.md +0 -0
  35. {clientele-2.3.0 → clientele-2.3.1}/clientele/__init__.py +0 -0
  36. {clientele-2.3.0 → clientele-2.3.1}/clientele/api/__init__.py +0 -0
  37. {clientele-2.3.0 → clientele-2.3.1}/clientele/api/config.py +0 -0
  38. {clientele-2.3.0 → clientele-2.3.1}/clientele/api/exceptions.py +0 -0
  39. {clientele-2.3.0 → clientele-2.3.1}/clientele/api/params.py +0 -0
  40. {clientele-2.3.0 → clientele-2.3.1}/clientele/api/request_context.py +0 -0
  41. {clientele-2.3.0 → clientele-2.3.1}/clientele/api/stream/__init__.py +0 -0
  42. {clientele-2.3.0 → clientele-2.3.1}/clientele/api/stream/parser.py +0 -0
  43. {clientele-2.3.0 → clientele-2.3.1}/clientele/api/type_utils.py +0 -0
  44. {clientele-2.3.0 → clientele-2.3.1}/clientele/cache/__init__.py +0 -0
  45. {clientele-2.3.0 → clientele-2.3.1}/clientele/cache/backends.py +0 -0
  46. {clientele-2.3.0 → clientele-2.3.1}/clientele/cache/decorator.py +0 -0
  47. {clientele-2.3.0 → clientele-2.3.1}/clientele/cache/key_generator.py +0 -0
  48. {clientele-2.3.0 → clientele-2.3.1}/clientele/cache/types.py +0 -0
  49. {clientele-2.3.0 → clientele-2.3.1}/clientele/cli.py +0 -0
  50. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/README.md +0 -0
  51. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/__init__.py +0 -0
  52. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/__init__.py +0 -0
  53. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/clients.py +0 -0
  54. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/generator.py +0 -0
  55. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/api_get_method.jinja2 +0 -0
  56. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/api_post_method.jinja2 +0 -0
  57. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/client_py.jinja2 +0 -0
  58. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/config_py.jinja2 +0 -0
  59. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/manifest.jinja2 +0 -0
  60. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/pyproject.toml.jinja2 +0 -0
  61. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schema_class.jinja2 +0 -0
  62. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schema_helpers.jinja2 +0 -0
  63. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schema_root_model.jinja2 +0 -0
  64. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schema_type_alias.jinja2 +0 -0
  65. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schemas_py.jinja2 +0 -0
  66. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/writer.py +0 -0
  67. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/base.py +0 -0
  68. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/__init__.py +0 -0
  69. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/generator.py +0 -0
  70. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/templates/client_py.jinja2 +0 -0
  71. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/templates/config_py.jinja2 +0 -0
  72. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/templates/manifest.jinja2 +0 -0
  73. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/templates/schemas_py.jinja2 +0 -0
  74. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/writer.py +0 -0
  75. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/cicerone_compat.py +0 -0
  76. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/shared/__init__.py +0 -0
  77. {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/shared/utils.py +0 -0
  78. {clientele-2.3.0 → clientele-2.3.1}/clientele/graphql/__init__.py +0 -0
  79. {clientele-2.3.0 → clientele-2.3.1}/clientele/graphql/client.py +0 -0
  80. {clientele-2.3.0 → clientele-2.3.1}/clientele/http/__init__.py +0 -0
  81. {clientele-2.3.0 → clientele-2.3.1}/clientele/http/aiohttp_backend.py +0 -0
  82. {clientele-2.3.0 → clientele-2.3.1}/clientele/http/backends.py +0 -0
  83. {clientele-2.3.0 → clientele-2.3.1}/clientele/http/fake_backend.py +0 -0
  84. {clientele-2.3.0 → clientele-2.3.1}/clientele/http/httpx_backend.py +0 -0
  85. {clientele-2.3.0 → clientele-2.3.1}/clientele/http/niquests_backend.py +0 -0
  86. {clientele-2.3.0 → clientele-2.3.1}/clientele/http/requests_backend.py +0 -0
  87. {clientele-2.3.0 → clientele-2.3.1}/clientele/http/response.py +0 -0
  88. {clientele-2.3.0 → clientele-2.3.1}/clientele/http/status_codes.py +0 -0
  89. {clientele-2.3.0 → clientele-2.3.1}/clientele/mypy.py +0 -0
  90. {clientele-2.3.0 → clientele-2.3.1}/clientele/py.typed +0 -0
  91. {clientele-2.3.0 → clientele-2.3.1}/clientele/retries/__init__.py +0 -0
  92. {clientele-2.3.0 → clientele-2.3.1}/clientele/retries/decorators.py +0 -0
  93. {clientele-2.3.0 → clientele-2.3.1}/clientele/schemas.py +0 -0
  94. {clientele-2.3.0 → clientele-2.3.1}/clientele/testing.py +0 -0
  95. {clientele-2.3.0 → clientele-2.3.1}/docs/CNAME +0 -0
  96. {clientele-2.3.0 → clientele-2.3.1}/docs/api-async.md +0 -0
  97. {clientele-2.3.0 → clientele-2.3.1}/docs/api-authentication.md +0 -0
  98. {clientele-2.3.0 → clientele-2.3.1}/docs/api-cache.md +0 -0
  99. {clientele-2.3.0 → clientele-2.3.1}/docs/api-configuration.md +0 -0
  100. {clientele-2.3.0 → clientele-2.3.1}/docs/api-direct-requests.md +0 -0
  101. {clientele-2.3.0 → clientele-2.3.1}/docs/api-examples.md +0 -0
  102. {clientele-2.3.0 → clientele-2.3.1}/docs/api-exceptions.md +0 -0
  103. {clientele-2.3.0 → clientele-2.3.1}/docs/api-graphql.md +0 -0
  104. {clientele-2.3.0 → clientele-2.3.1}/docs/api-http-backends.md +0 -0
  105. {clientele-2.3.0 → clientele-2.3.1}/docs/api-logging.md +0 -0
  106. {clientele-2.3.0 → clientele-2.3.1}/docs/api-overview.md +0 -0
  107. {clientele-2.3.0 → clientele-2.3.1}/docs/api-retries.md +0 -0
  108. {clientele-2.3.0 → clientele-2.3.1}/docs/api-stream.md +0 -0
  109. {clientele-2.3.0 → clientele-2.3.1}/docs/api-testing.md +0 -0
  110. {clientele-2.3.0 → clientele-2.3.1}/docs/clientele_generate.gif +0 -0
  111. {clientele-2.3.0 → clientele-2.3.1}/docs/clientele_header.png +0 -0
  112. {clientele-2.3.0 → clientele-2.3.1}/docs/favicon.png +0 -0
  113. {clientele-2.3.0 → clientele-2.3.1}/docs/index.md +0 -0
  114. {clientele-2.3.0 → clientele-2.3.1}/docs/injected-parameters.md +0 -0
  115. {clientele-2.3.0 → clientele-2.3.1}/docs/openapi-cli.md +0 -0
  116. {clientele-2.3.0 → clientele-2.3.1}/docs/server-django-ninja.md +0 -0
  117. {clientele-2.3.0 → clientele-2.3.1}/docs/server-drf.md +0 -0
  118. {clientele-2.3.0 → clientele-2.3.1}/docs/server-fastapi.md +0 -0
  119. {clientele-2.3.0 → clientele-2.3.1}/example_openapi_specs/best.json +0 -0
  120. {clientele-2.3.0 → clientele-2.3.1}/example_openapi_specs/complex_schemas.json +0 -0
  121. {clientele-2.3.0 → clientele-2.3.1}/example_openapi_specs/issue_248.json +0 -0
  122. {clientele-2.3.0 → clientele-2.3.1}/example_openapi_specs/simple.json +0 -0
  123. {clientele-2.3.0 → clientele-2.3.1}/example_openapi_specs/test_303.yaml +0 -0
  124. {clientele-2.3.0 → clientele-2.3.1}/mkdocs.yml +0 -0
  125. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/README.md +0 -0
  126. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/api.py +0 -0
  127. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/__init__.py +0 -0
  128. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/client.py +0 -0
  129. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/config.py +0 -0
  130. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/pyproject.toml +0 -0
  131. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/schemas.py +0 -0
  132. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/example_project/__init__.py +0 -0
  133. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/example_project/settings.py +0 -0
  134. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/example_project/urls.py +0 -0
  135. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/manage.py +0 -0
  136. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/openapi.json +0 -0
  137. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/README.md +0 -0
  138. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/__init__.py +0 -0
  139. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/client.py +0 -0
  140. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/config.py +0 -0
  141. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/pyproject.toml +0 -0
  142. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/schemas.py +0 -0
  143. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/example_project/__init__.py +0 -0
  144. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/example_project/settings.py +0 -0
  145. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/example_project/urls.py +0 -0
  146. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/manage.py +0 -0
  147. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/openapi.yaml +0 -0
  148. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/__init__.py +0 -0
  149. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/apps.py +0 -0
  150. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/migrations/0001_initial.py +0 -0
  151. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/migrations/__init__.py +0 -0
  152. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/models.py +0 -0
  153. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/serializers.py +0 -0
  154. {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/views.py +0 -0
  155. {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/README.md +0 -0
  156. {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/__init__.py +0 -0
  157. {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/client.py +0 -0
  158. {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/config.py +0 -0
  159. {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/pyproject.toml +0 -0
  160. {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/main.py +0 -0
  161. {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/openapi.json +0 -0
  162. {clientele-2.3.0 → clientele-2.3.1}/tests/__init__.py +0 -0
  163. {clientele-2.3.0 → clientele-2.3.1}/tests/api/__init__.py +0 -0
  164. {clientele-2.3.0 → clientele-2.3.1}/tests/api/retries/__init__.py +0 -0
  165. {clientele-2.3.0 → clientele-2.3.1}/tests/api/retries/test_retry.py +0 -0
  166. {clientele-2.3.0 → clientele-2.3.1}/tests/api/stream/__init__.py +0 -0
  167. {clientele-2.3.0 → clientele-2.3.1}/tests/api/stream/test_parser.py +0 -0
  168. {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_api_client.py +0 -0
  169. {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_api_client_logging.py +0 -0
  170. {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_api_client_singleton.py +0 -0
  171. {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_api_response_parser.py +0 -0
  172. {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_api_typed_dict.py +0 -0
  173. {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_direct_requests.py +0 -0
  174. {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_request_context.py +0 -0
  175. {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_stream.py +0 -0
  176. {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_stream_httpx.py +0 -0
  177. {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_type_utils.py +0 -0
  178. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/__init__.py +0 -0
  179. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/client.py +0 -0
  180. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/config.py +0 -0
  181. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/pyproject.toml +0 -0
  182. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_basic_client/__init__.py +0 -0
  183. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_basic_client/client.py +0 -0
  184. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_basic_client/config.py +0 -0
  185. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_basic_client/schemas.py +0 -0
  186. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/__init__.py +0 -0
  187. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/client.py +0 -0
  188. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/config.py +0 -0
  189. {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/pyproject.toml +0 -0
  190. {clientele-2.3.0 → clientele-2.3.1}/tests/cache/__init__.py +0 -0
  191. {clientele-2.3.0 → clientele-2.3.1}/tests/cache/fixtures.py +0 -0
  192. {clientele-2.3.0 → clientele-2.3.1}/tests/cache/test_backends.py +0 -0
  193. {clientele-2.3.0 → clientele-2.3.1}/tests/cache/test_decorator.py +0 -0
  194. {clientele-2.3.0 → clientele-2.3.1}/tests/cache/test_integration.py +0 -0
  195. {clientele-2.3.0 → clientele-2.3.1}/tests/cache/test_key_generator.py +0 -0
  196. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/callback_example.yaml +0 -0
  197. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/complex_api.yaml +0 -0
  198. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/README.md +0 -0
  199. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/api-with-examples.json +0 -0
  200. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/callback-example.json +0 -0
  201. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/link-example.json +0 -0
  202. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/non-oauth-scopes.json +0 -0
  203. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/petstore-expanded.json +0 -0
  204. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/petstore.json +0 -0
  205. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/tictactoe.json +0 -0
  206. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/uspto.json +0 -0
  207. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/webhook-example.json +0 -0
  208. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/petstore_openapi3.yaml +0 -0
  209. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/1password.yaml +0 -0
  210. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/ably.yaml +0 -0
  211. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/google.yaml +0 -0
  212. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/medium.yaml +0 -0
  213. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/spacetraders.yaml +0 -0
  214. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/twilio.yaml +0 -0
  215. {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/regression/dep_query_alias.json +0 -0
  216. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/__init__.py +0 -0
  217. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/__init__.py +0 -0
  218. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_clients.py +0 -0
  219. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_complex_schemas.py +0 -0
  220. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_fixture_schemas.py +0 -0
  221. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_generator.py +0 -0
  222. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_issue_248.py +0 -0
  223. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_nullable_fields.py +0 -0
  224. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_openapi_31_null_type.py +0 -0
  225. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_ref_handling.py +0 -0
  226. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/basic/__init__.py +0 -0
  227. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/basic/test_generator.py +0 -0
  228. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/integration_utils.py +0 -0
  229. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/shared/__init__.py +0 -0
  230. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/shared/test_utils.py +0 -0
  231. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/test_base.py +0 -0
  232. {clientele-2.3.0 → clientele-2.3.1}/tests/generators/test_cicerone_compat.py +0 -0
  233. {clientele-2.3.0 → clientele-2.3.1}/tests/graphql/__init__.py +0 -0
  234. {clientele-2.3.0 → clientele-2.3.1}/tests/graphql/test_graphql_client.py +0 -0
  235. {clientele-2.3.0 → clientele-2.3.1}/tests/http/__init__.py +0 -0
  236. {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/__init__.py +0 -0
  237. {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_aiohttp_backend.py +0 -0
  238. {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_backend_config.py +0 -0
  239. {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_fake_backend.py +0 -0
  240. {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_httpx_backend.py +0 -0
  241. {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_niquests_backend.py +0 -0
  242. {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_requests_backend.py +0 -0
  243. {clientele-2.3.0 → clientele-2.3.1}/tests/mypy/__init__.py +0 -0
  244. {clientele-2.3.0 → clientele-2.3.1}/tests/mypy/mypy_plugin_test_config.ini +0 -0
  245. {clientele-2.3.0 → clientele-2.3.1}/tests/mypy/test_mypy_plugin.py +0 -0
  246. {clientele-2.3.0 → clientele-2.3.1}/tests/test_cli.py +0 -0
  247. {clientele-2.3.0 → clientele-2.3.1}/tests/test_settings.py +0 -0
  248. {clientele-2.3.0 → clientele-2.3.1}/tests/test_testing.py +0 -0
@@ -1,5 +1,10 @@
1
1
  # Change log
2
2
 
3
+ ## 2.3.1
4
+
5
+ - Models with aliases are now serialized using their alias names instead of the field names, ensuring that the output matches the expected API format.
6
+ - Models are now serialized with `exclude_unset=True`, meaning fields that were not explicitly set will be omitted from the serialized output rather than being included as `null` or their default value.
7
+
3
8
  ## 2.3.0
4
9
 
5
10
  - Add `clientele.api.Query(alias=...)` for annotating a query parameter with its wire-format name via `typing.Annotated`, so a Python-friendly (snake_case) parameter name can be used without breaking the actual HTTP request. Clients generated from an OpenAPI spec now apply this automatically whenever a query parameter's name isn't already valid snake_case (e.g. `orderBy` → `order_by`).
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: clientele
3
- Version: 2.3.0
3
+ Version: 2.3.1
4
4
  Summary: Clientele is a different way to build Python API Clients
5
5
  Project-URL: Homepage, https://clientele.dev
6
6
  Project-URL: Changelog, https://docs.clientele.dev/CHANGELOG/
@@ -4,8 +4,8 @@
4
4
 
5
5
  | Version | Supported |
6
6
  | --------------| ------------------ |
7
- | 2.3.0 | :white_check_mark: |
8
- | 2.2.2 or less | :x: |
7
+ | 2.3.1 | :white_check_mark: |
8
+ | 2.3.0 or less | :x: |
9
9
 
10
10
  ## Reporting a Vulnerability
11
11
 
@@ -175,7 +175,7 @@ class APIClient:
175
175
  self, data: dict[str, typing.Any] | pydantic.BaseModel | None
176
176
  ) -> dict[str, typing.Any] | None:
177
177
  if isinstance(data, pydantic.BaseModel):
178
- return data.model_dump(mode="json")
178
+ return data.model_dump(mode="json", exclude_unset=True)
179
179
 
180
180
  return data
181
181
 
@@ -567,11 +567,11 @@ class APIClient:
567
567
  return payload
568
568
 
569
569
  if isinstance(payload, pydantic.BaseModel):
570
- return payload.model_dump(mode="json")
570
+ return payload.model_dump(mode="json", exclude_unset=True)
571
571
 
572
572
  if type_utils.is_pydantic_model(annotation):
573
573
  model_instance = annotation.model_validate(payload)
574
- return model_instance.model_dump(mode="json")
574
+ return model_instance.model_dump(mode="json", exclude_unset=True)
575
575
 
576
576
  if type_utils.is_typeddict(annotation):
577
577
  if not isinstance(payload, dict):
@@ -119,7 +119,7 @@ class SchemasGenerator:
119
119
  lines.append(f" {sanitized_arg}: {type_string}\n")
120
120
 
121
121
  if has_aliases:
122
- lines.append("\n model_config = pydantic.ConfigDict(populate_by_name=True)\n")
122
+ lines.append("\n model_config = pydantic.ConfigDict(populate_by_name=True, serialize_by_alias=True)\n")
123
123
 
124
124
  return "".join(lines)
125
125
 
@@ -1,5 +1,5 @@
1
1
  import sys
2
2
 
3
- VERSION = "2.3.0"
3
+ VERSION = "2.3.1"
4
4
 
5
5
  PY_VERSION = sys.version_info
@@ -1,5 +1,10 @@
1
1
  # Change log
2
2
 
3
+ ## 2.3.1
4
+
5
+ - Models with aliases are now serialized using their alias names instead of the field names, ensuring that the output matches the expected API format.
6
+ - Models are now serialized with `exclude_unset=True`, meaning fields that were not explicitly set will be omitted from the serialized output rather than being included as `null` or their default value.
7
+
3
8
  ## 2.3.0
4
9
 
5
10
  - Add `clientele.api.Query(alias=...)` for annotating a query parameter with its wire-format name via `typing.Annotated`, so a Python-friendly (snake_case) parameter name can be used without breaking the actual HTTP request. Clients generated from an OpenAPI spec now apply this automatically whenever a query parameter's name isn't already valid snake_case (e.g. `orderBy` → `order_by`).
@@ -47,7 +47,7 @@ Once installed, you can run `clientele version` to confirm:
47
47
 
48
48
  ```sh
49
49
  > clientele version
50
- clientele 2.3.0
50
+ clientele 2.3.1
51
51
  ```
52
52
 
53
53
  ## Next steps
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "clientele"
3
- version = "2.3.0"
3
+ version = "2.3.1"
4
4
  description = "Clientele is a different way to build Python API Clients"
5
5
  authors = [{ name = "Paul Hallett", email = "paulandrewhallett@gmail.com" }]
6
6
  license = { text = "MIT" }
@@ -16,7 +16,7 @@ uv add clientele
16
16
 
17
17
  API VERSION: 1.0.0
18
18
  OPENAPI VERSION: 3.1.0
19
- CLIENTELE VERSION: 2.3.0
19
+ CLIENTELE VERSION: 2.3.1
20
20
 
21
21
  Regenerate using this command:
22
22
 
@@ -16,7 +16,7 @@ uv add clientele
16
16
 
17
17
  API VERSION: 1.0.0
18
18
  OPENAPI VERSION: 3.0.3
19
- CLIENTELE VERSION: 2.3.0
19
+ CLIENTELE VERSION: 2.3.1
20
20
 
21
21
  Regenerate using this command:
22
22
 
@@ -16,7 +16,7 @@ uv add clientele
16
16
 
17
17
  API VERSION: 1.0.0
18
18
  OPENAPI VERSION: 3.1.0
19
- CLIENTELE VERSION: 2.3.0
19
+ CLIENTELE VERSION: 2.3.1
20
20
 
21
21
  Regenerate using this command:
22
22
 
@@ -28,7 +28,7 @@ class ValidationError(pydantic.BaseModel):
28
28
  msg: str
29
29
  type_: str = pydantic.Field(alias="type")
30
30
 
31
- model_config = pydantic.ConfigDict(populate_by_name=True)
31
+ model_config = pydantic.ConfigDict(populate_by_name=True, serialize_by_alias=True)
32
32
 
33
33
 
34
34
  class ResponseListUsers(ListResponse[UserResponse]):
@@ -16,7 +16,7 @@ uv add clientele
16
16
 
17
17
  API VERSION: 0.1.0
18
18
  OPENAPI VERSION: 3.0.2
19
- CLIENTELE VERSION: 2.3.0
19
+ CLIENTELE VERSION: 2.3.1
20
20
 
21
21
  Regenerate using this command:
22
22
 
@@ -89,7 +89,7 @@ class ValidationError(pydantic.BaseModel):
89
89
  msg: str
90
90
  type_: str = pydantic.Field(alias="type")
91
91
 
92
- model_config = pydantic.ConfigDict(populate_by_name=True)
92
+ model_config = pydantic.ConfigDict(populate_by_name=True, serialize_by_alias=True)
93
93
 
94
94
 
95
95
  class NullableFieldsRequest(pydantic.BaseModel):
@@ -16,7 +16,7 @@ uv add clientele
16
16
 
17
17
  API VERSION:
18
18
  OPENAPI VERSION:
19
- CLIENTELE VERSION: 2.3.0
19
+ CLIENTELE VERSION: 2.3.1
20
20
 
21
21
  Regenerate using this command:
22
22
 
@@ -16,7 +16,7 @@ uv add clientele
16
16
 
17
17
  API VERSION: 0.1.0
18
18
  OPENAPI VERSION: 3.0.2
19
- CLIENTELE VERSION: 2.3.0
19
+ CLIENTELE VERSION: 2.3.1
20
20
 
21
21
  Regenerate using this command:
22
22
 
@@ -89,7 +89,7 @@ class ValidationError(pydantic.BaseModel):
89
89
  msg: str
90
90
  type_: str = pydantic.Field(alias="type")
91
91
 
92
- model_config = pydantic.ConfigDict(populate_by_name=True)
92
+ model_config = pydantic.ConfigDict(populate_by_name=True, serialize_by_alias=True)
93
93
 
94
94
 
95
95
  class NullableFieldsRequest(pydantic.BaseModel):
@@ -142,7 +142,7 @@ def test_generate_class_properties_default_with_alias():
142
142
  result = generator.generate_class_properties(properties, required=[])
143
143
 
144
144
  assert 'my_field: int = pydantic.Field(default=42, alias="my-field")' in result
145
- assert "model_config = pydantic.ConfigDict(populate_by_name=True)" in result
145
+ assert "model_config = pydantic.ConfigDict(populate_by_name=True, serialize_by_alias=True)" in result
146
146
 
147
147
 
148
148
  def test_generate_class_properties_no_required_array_with_defaults():
@@ -230,7 +230,7 @@ def test_generate_class_properties_const_with_alias():
230
230
  assert (
231
231
  "action_type: typing.Literal['delete'] = pydantic.Field(default='delete', alias=\"action-type\")" in result
232
232
  )
233
- assert "model_config = pydantic.ConfigDict(populate_by_name=True)" in result
233
+ assert "model_config = pydantic.ConfigDict(populate_by_name=True, serialize_by_alias=True)" in result
234
234
 
235
235
 
236
236
  def test_schemas_generator_no_components():
@@ -391,7 +391,7 @@ wheels = [
391
391
 
392
392
  [[package]]
393
393
  name = "clientele"
394
- version = "2.3.0"
394
+ version = "2.3.1"
395
395
  source = { editable = "." }
396
396
  dependencies = [
397
397
  { name = "httpx2" },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes