clear-skies 2.0.11__tar.gz → 2.0.12__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.
Potentially problematic release.
This version of clear-skies might be problematic. Click here for more details.
- {clear_skies-2.0.11 → clear_skies-2.0.12}/CHANGELOG.md +8 -0
- clear_skies-2.0.12/LATEST_CHANGELOG.md +6 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/PKG-INFO +1 -1
- {clear_skies-2.0.11 → clear_skies-2.0.12}/pyproject.toml +1 -1
- clear_skies-2.0.12/src/clearskies/input_outputs/headers.py +54 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/uv.lock +1 -1
- clear_skies-2.0.11/LATEST_CHANGELOG.md +0 -6
- clear_skies-2.0.11/src/clearskies/input_outputs/headers.py +0 -48
- {clear_skies-2.0.11 → clear_skies-2.0.12}/.editorconfig +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/.github/workflows/create-version.yaml +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/.github/workflows/docs.yaml +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/.github/workflows/run-tests.yml +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/.github/workflows/tests-matrix.yaml +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/.github/workflows/tests.yaml +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/.gitignore +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/.pre-commit-config.yaml +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/.python-version +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/.vscode/extensions.json +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/.vscode/settings.json +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/LICENSE +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/README.md +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/build.sh +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/cliff.toml +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/ruff.toml +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/action.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/authentication.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/authorization.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/authorization_pass_through.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/jwks.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/public.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/secret_bearer.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/oai3_json.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/oai3_schema_resolver.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/parameter.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/request.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/response.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/array.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/default.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/enum.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/object.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/test.json +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/py.typed +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/header.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/json_body.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/parameter.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/request.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/url_parameter.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/url_path.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/response/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/response/response.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/array.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/base64.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/boolean.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/date.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/datetime.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/double.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/enum.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/integer.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/long.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/number.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/object.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/password.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/schema.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/string.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/api_backend.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/backend.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/cursor_backend.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/memory_backend.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/secrets_backend.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/column.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/audit.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/belongs_to_id.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/belongs_to_model.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/belongs_to_self.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/boolean.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/category_tree.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/category_tree_ancestors.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/category_tree_children.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/category_tree_descendants.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created_by_authorization_data.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created_by_header.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created_by_ip.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created_by_routing_data.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created_by_user_agent.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/date.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/datetime.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/email.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/float.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/has_many.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/has_many_self.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/has_one.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/integer.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/json.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/many_to_many_ids.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/many_to_many_ids_with_data.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/many_to_many_models.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/many_to_many_pivots.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/phone.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/select.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/string.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/timestamp.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/updated.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/uuid.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/README.md +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/actions.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/any.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/any_dict.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/any_dict_or_callable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/authentication.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/authorization.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/boolean.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/boolean_or_callable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/callable_config.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/columns.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/conditions.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/config.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/datetime.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/datetime_or_callable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/email.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/email_list.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/email_list_or_callable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/email_or_email_list_or_callable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/endpoint.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/endpoint_list.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/float.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/float_or_callable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/headers.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/integer.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/integer_or_callable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/joins.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/list_any_dict.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/list_any_dict_or_callable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/model_class.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/model_column.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/model_columns.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/model_destination_name.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/model_to_id_column.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/readable_model_column.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/readable_model_columns.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/schema.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/searchable_model_columns.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/security_headers.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/select.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/select_list.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/string.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/string_dict.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/string_list.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/string_list_or_callable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/string_or_callable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/timedelta.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/timezone.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/url.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/validators.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/writeable_model_column.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/writeable_model_columns.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configurable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/contexts/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/contexts/cli.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/contexts/context.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/contexts/wsgi.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/contexts/wsgi_ref.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/decorators.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/decorators.pyi +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/additional_config.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/additional_config_auto_import.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/di.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/by_class.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/by_name.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/di.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/environment.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/input_output.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/now.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/requests.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/secrets.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/utcnow.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/uuid.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/injectable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/injectable_properties.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/test_module/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/test_module/another_module/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/test_module/module_class.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/end.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoint.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoint_group.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/advanced_search.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/callable.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/create.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/delete.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/get.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/health_check.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/list.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/restful_api.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/schema.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/simple_search.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/update.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/environment.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/authentication.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/authorization.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/client_error.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/input_errors.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/missing_dependency.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/moved_permanently.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/moved_temporarily.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/not_found.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/functional/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/functional/routing.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/functional/string.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/functional/validations.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/cli.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/exceptions/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/exceptions/cli_input_error.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/exceptions/cli_not_found.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/input_output.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/programmatic.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/py.typed +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/wsgi.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/model.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/py.typed +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/query/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/query/condition.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/query/join.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/query/query.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/query/sort.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/schema.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/additional_configs/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/additional_configs/mysql_connection_dynamic_producer.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssh_cert_bastion.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/akeyless.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/exceptions/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/exceptions/not_found.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/secrets.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_header.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/cache_control.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/cors.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/csp.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/hsts.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/x_content_type_options.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/x_frame_options.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/test_base.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/typing.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validator.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/__init__.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/after_column.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/before_column.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_future.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_future_at_least.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_future_at_most.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_past.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_past_at_least.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_past_at_most.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/maximum_length.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/maximum_value.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/minimum_length.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/minimum_value.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/required.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/timedelta.py +0 -0
- {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/unique.py +0 -0
|
@@ -5,9 +5,16 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [2.0.12] - 2025-10-09
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
- Use dict for Header class by @cmancone in [#23](https://github.com/clearskies-py/clearskies/pull/23)
|
|
12
|
+
- Make headers a dict
|
|
13
|
+
|
|
8
14
|
## [2.0.11] - 2025-10-09
|
|
9
15
|
|
|
10
16
|
### Changed
|
|
17
|
+
- Bump version to v2.0.11 by @github-actions[bot]
|
|
11
18
|
- Typos by @cmancone in [#24](https://github.com/clearskies-py/clearskies/pull/24)
|
|
12
19
|
- Input Output reorg by @cmancone
|
|
13
20
|
|
|
@@ -806,6 +813,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
806
813
|
* @ made their first contribution
|
|
807
814
|
* @tnijboer made their first contribution
|
|
808
815
|
* @conormancone-cimpress made their first contribution
|
|
816
|
+
[2.0.12]: https://github.com/clearskies-py/clearskies/compare/v2.0.11..v2.0.12
|
|
809
817
|
[2.0.11]: https://github.com/clearskies-py/clearskies/compare/v2.0.10..v2.0.11
|
|
810
818
|
[2.0.10]: https://github.com/clearskies-py/clearskies/compare/v2.0.9..v2.0.10
|
|
811
819
|
[2.0.9]: https://github.com/clearskies-py/clearskies/compare/v2.0.8..v2.0.9
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
import re
|
|
4
|
+
from typing import TypeVar
|
|
5
|
+
|
|
6
|
+
_T = TypeVar("_T")
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class Headers(dict[str, str]):
|
|
10
|
+
_duck_cheat = "headers"
|
|
11
|
+
|
|
12
|
+
def __init__(self, headers: dict[str, str] = {}) -> None:
|
|
13
|
+
normalized_headers = (
|
|
14
|
+
{key.upper().replace("_", "-"): value for (key, value) in headers.items()} if headers else {}
|
|
15
|
+
)
|
|
16
|
+
super().__init__(normalized_headers)
|
|
17
|
+
|
|
18
|
+
def __contains__(self, key: object) -> bool:
|
|
19
|
+
if not isinstance(key, str):
|
|
20
|
+
return False
|
|
21
|
+
return super().__contains__(key.upper().replace("_", "-"))
|
|
22
|
+
|
|
23
|
+
def __getitem__(self, key: str) -> str:
|
|
24
|
+
return super().__getitem__(key.upper().replace("_", "-"))
|
|
25
|
+
|
|
26
|
+
def __setitem__(self, key: str, value: str) -> None:
|
|
27
|
+
if not isinstance(key, str):
|
|
28
|
+
raise TypeError(
|
|
29
|
+
f"Header keys must be strings, but an object of type '{key.__class__.__name__}' was provided."
|
|
30
|
+
)
|
|
31
|
+
if not isinstance(value, str):
|
|
32
|
+
raise TypeError(
|
|
33
|
+
f"Header values must be strings, but an object of type '{value.__class__.__name__}' was provided."
|
|
34
|
+
)
|
|
35
|
+
normalized_key = re.sub("\\s+", " ", key.upper().replace("_", "-"))
|
|
36
|
+
normalized_value = re.sub("\\s+", " ", value.strip())
|
|
37
|
+
super().__setitem__(normalized_key, normalized_value)
|
|
38
|
+
|
|
39
|
+
def __getattr__(self, key: str) -> str | None:
|
|
40
|
+
return self.get(key.upper().replace("_", "-"), None)
|
|
41
|
+
|
|
42
|
+
def __setattr__(self, key: str, value: str) -> None:
|
|
43
|
+
if key.startswith("_") or key == "_duck_cheat":
|
|
44
|
+
# Allow setting private attributes and special attributes normally
|
|
45
|
+
super().__setattr__(key, value)
|
|
46
|
+
else:
|
|
47
|
+
self.__setitem__(key, value)
|
|
48
|
+
|
|
49
|
+
def get(self, key: str, default: _T = None) -> str | _T: # type: ignore[assignment]
|
|
50
|
+
return super().get(key.upper().replace("_", "-"), default)
|
|
51
|
+
|
|
52
|
+
def add(self, key: str, value: str) -> None:
|
|
53
|
+
"""Add a header. This expects a string with a colon separating the key and value."""
|
|
54
|
+
setattr(self, key, value)
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
from __future__ import annotations
|
|
2
|
-
|
|
3
|
-
import re
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class Headers:
|
|
7
|
-
_headers: dict[str, str] = {}
|
|
8
|
-
_duck_cheat = "headers"
|
|
9
|
-
|
|
10
|
-
def __init__(self, headers: dict[str, str] = {}):
|
|
11
|
-
self.__dict__["_headers"] = (
|
|
12
|
-
{key.upper().replace("_", "-"): value for (key, value) in headers.items()} if headers else {}
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
def __contains__(self, key: str):
|
|
16
|
-
return key.upper().replace("_", "-") in self._headers
|
|
17
|
-
|
|
18
|
-
def __getattr__(self, key: str) -> str | None:
|
|
19
|
-
return self._headers.get(key.upper().replace("_", "-"), None)
|
|
20
|
-
|
|
21
|
-
def __setattr__(self, key: str, value: str) -> None:
|
|
22
|
-
if not isinstance(key, str):
|
|
23
|
-
raise TypeError(
|
|
24
|
-
f"Header keys must be strings, but an object of type '{value.__class__.__name__}' was provided."
|
|
25
|
-
)
|
|
26
|
-
if not isinstance(value, str):
|
|
27
|
-
raise TypeError(
|
|
28
|
-
f"Header values must be strings, but an object of type '{value.__class__.__name__}' was provided."
|
|
29
|
-
)
|
|
30
|
-
self._headers[re.sub("\\s+", " ", key.upper().replace("_", "-"))] = re.sub("\\s+", " ", value.strip())
|
|
31
|
-
|
|
32
|
-
def get(self, key, default=None):
|
|
33
|
-
if key not in self:
|
|
34
|
-
return default
|
|
35
|
-
return self.__getattr__(key)
|
|
36
|
-
|
|
37
|
-
def keys(self) -> list[str]:
|
|
38
|
-
return list(self._headers.keys())
|
|
39
|
-
|
|
40
|
-
def values(self) -> list[str]:
|
|
41
|
-
return list(self._headers.keys())
|
|
42
|
-
|
|
43
|
-
def items(self) -> list[tuple[str]]:
|
|
44
|
-
return list(self._headers.items()) # type: ignore
|
|
45
|
-
|
|
46
|
-
def add(self, key: str, value: str) -> None:
|
|
47
|
-
"""Add a header. This expects a string with a colon separating the key and value."""
|
|
48
|
-
setattr(self, key, value)
|
|
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
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/__init__.py
RENAMED
|
File without changes
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/oai3_json.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/parameter.py
RENAMED
|
File without changes
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/request.py
RENAMED
|
File without changes
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/response.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/array.py
RENAMED
|
File without changes
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/default.py
RENAMED
|
File without changes
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/enum.py
RENAMED
|
File without changes
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/object.py
RENAMED
|
File without changes
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/test.json
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
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/category_tree_descendants.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created_by_authorization_data.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/many_to_many_ids_with_data.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
|
|
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
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/email_or_email_list_or_callable.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
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/list_any_dict_or_callable.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
|
{clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/searchable_model_columns.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|