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.
- {clientele-2.3.0 → clientele-2.3.1}/CHANGELOG.md +5 -0
- {clientele-2.3.0 → clientele-2.3.1}/PKG-INFO +2 -2
- {clientele-2.3.0 → clientele-2.3.1}/SECURITY.md +2 -2
- {clientele-2.3.0 → clientele-2.3.1}/clientele/api/client.py +3 -3
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/shared/schemas.py +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/clientele/settings.py +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/docs/CHANGELOG.md +5 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/install.md +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/pyproject.toml +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/MANIFEST.md +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/MANIFEST.md +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/MANIFEST.md +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/schemas.py +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/MANIFEST.md +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/schemas.py +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_basic_client/MANIFEST.md +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/MANIFEST.md +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/schemas.py +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/shared/test_schemas.py +2 -2
- {clientele-2.3.0 → clientele-2.3.1}/uv.lock +1 -1
- {clientele-2.3.0 → clientele-2.3.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/.github/compatibility.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/.github/dependabot.yml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/.github/pull_request_template.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/.github/workflows/ci.yml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/.gitignore +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/CODE_OF_CONDUCT.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/CONTRIBUTING.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/CONTRIBUTORS.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/LICENSE +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/Makefile +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/PUBLISHING.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/README.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/api/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/api/config.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/api/exceptions.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/api/params.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/api/request_context.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/api/stream/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/api/stream/parser.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/api/type_utils.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/cache/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/cache/backends.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/cache/decorator.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/cache/key_generator.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/cache/types.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/cli.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/README.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/clients.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/generator.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/api_get_method.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/api_post_method.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/client_py.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/config_py.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/manifest.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/pyproject.toml.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schema_class.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schema_helpers.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schema_root_model.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schema_type_alias.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schemas_py.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/writer.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/base.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/generator.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/templates/client_py.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/templates/config_py.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/templates/manifest.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/templates/schemas_py.jinja2 +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/basic/writer.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/cicerone_compat.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/shared/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/generators/shared/utils.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/graphql/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/graphql/client.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/http/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/http/aiohttp_backend.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/http/backends.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/http/fake_backend.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/http/httpx_backend.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/http/niquests_backend.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/http/requests_backend.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/http/response.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/http/status_codes.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/mypy.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/py.typed +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/retries/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/retries/decorators.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/schemas.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/clientele/testing.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/CNAME +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-async.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-authentication.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-cache.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-configuration.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-direct-requests.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-examples.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-exceptions.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-graphql.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-http-backends.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-logging.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-overview.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-retries.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-stream.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/api-testing.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/clientele_generate.gif +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/clientele_header.png +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/favicon.png +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/index.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/injected-parameters.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/openapi-cli.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/server-django-ninja.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/server-drf.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/docs/server-fastapi.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/example_openapi_specs/best.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/example_openapi_specs/complex_schemas.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/example_openapi_specs/issue_248.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/example_openapi_specs/simple.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/example_openapi_specs/test_303.yaml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/mkdocs.yml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/README.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/api.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/client.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/config.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/pyproject.toml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/client/schemas.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/example_project/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/example_project/settings.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/example_project/urls.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/manage.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/openapi.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/README.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/client.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/config.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/pyproject.toml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/schemas.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/example_project/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/example_project/settings.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/example_project/urls.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/manage.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/openapi.yaml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/apps.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/migrations/0001_initial.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/migrations/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/models.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/serializers.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/views.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/README.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/client.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/config.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/client/pyproject.toml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/main.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/server_examples/fastapi/openapi.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/retries/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/retries/test_retry.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/stream/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/stream/test_parser.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_api_client.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_api_client_logging.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_api_client_singleton.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_api_response_parser.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_api_typed_dict.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_direct_requests.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_request_context.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_stream.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_stream_httpx.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api/test_type_utils.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/client.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/config.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/async_test_client/pyproject.toml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_basic_client/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_basic_client/client.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_basic_client/config.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_basic_client/schemas.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/client.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/config.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/api_clients/test_client/pyproject.toml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/cache/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/cache/fixtures.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/cache/test_backends.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/cache/test_decorator.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/cache/test_integration.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/cache/test_key_generator.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/callback_example.yaml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/complex_api.yaml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/README.md +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/api-with-examples.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/callback-example.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/link-example.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/non-oauth-scopes.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/petstore-expanded.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/petstore.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/tictactoe.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/uspto.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/openapi_examples/webhook-example.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/petstore_openapi3.yaml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/1password.yaml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/ably.yaml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/google.yaml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/medium.yaml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/spacetraders.yaml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/realworld/twilio.yaml +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/fixtures/regression/dep_query_alias.json +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_clients.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_complex_schemas.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_fixture_schemas.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_generator.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_issue_248.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_nullable_fields.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_openapi_31_null_type.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/api/test_ref_handling.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/basic/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/basic/test_generator.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/integration_utils.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/shared/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/shared/test_utils.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/test_base.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/generators/test_cicerone_compat.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/graphql/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/graphql/test_graphql_client.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/http/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_aiohttp_backend.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_backend_config.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_fake_backend.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_httpx_backend.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_niquests_backend.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/http/backends/test_requests_backend.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/mypy/__init__.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/mypy/mypy_plugin_test_config.ini +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/mypy/test_mypy_plugin.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/test_cli.py +0 -0
- {clientele-2.3.0 → clientele-2.3.1}/tests/test_settings.py +0 -0
- {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.
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
2
|
Name: clientele
|
|
3
|
-
Version: 2.3.
|
|
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/
|
|
@@ -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,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`).
|
|
@@ -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]):
|
|
@@ -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):
|
|
@@ -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():
|
|
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
|
|
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
|
{clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/api_get_method.jinja2
RENAMED
|
File without changes
|
{clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/api_post_method.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/pyproject.toml.jinja2
RENAMED
|
File without changes
|
|
File without changes
|
{clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schema_helpers.jinja2
RENAMED
|
File without changes
|
{clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schema_root_model.jinja2
RENAMED
|
File without changes
|
{clientele-2.3.0 → clientele-2.3.1}/clientele/generators/api/templates/schema_type_alias.jinja2
RENAMED
|
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
|
|
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
|
|
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
|
{clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/example_project/__init__.py
RENAMED
|
File without changes
|
{clientele-2.3.0 → clientele-2.3.1}/server_examples/django_ninja/example_project/settings.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/client/pyproject.toml
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/example_project/urls.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clientele-2.3.0 → clientele-2.3.1}/server_examples/django_rest_framework/users/serializers.py
RENAMED
|
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
|