clear-skies 1.20.2__tar.gz → 1.21.0__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-1.20.2 → clear_skies-1.21.0}/PKG-INFO +1 -1
- {clear_skies-1.20.2 → clear_skies-1.21.0}/pyproject.toml +1 -1
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/created.py +3 -3
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/created_micro.py +3 -3
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/datetime.py +4 -4
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/datetime_micro.py +3 -2
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/timestamp.py +4 -3
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/updated.py +5 -3
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/updated_micro.py +5 -3
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/di/standard_dependencies.py +5 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/models.py +36 -31
- {clear_skies-1.20.2 → clear_skies-1.21.0}/LICENSE +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/README.md +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/application.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/authentication/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/authentication/auth0_jwks.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/authentication/auth_exception.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/authentication/authorization.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/authentication/jwks.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/authentication/jwks_jwcrypto.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/authentication/public.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/authentication/secret_bearer.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/oai3_json.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/oai3_schema_resolver.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/parameter.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/request.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/response.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/schema/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/schema/array.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/schema/default.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/schema/enum.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/schema/object.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/test.json +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/request/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/request/header.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/request/json_body.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/request/request.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/request/url_parameter.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/request/url_path.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/response/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/response/response.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/array.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/base64.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/boolean.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/date.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/datetime.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/double.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/enum.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/integer.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/long.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/number.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/object.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/password.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/schema/string.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/backends/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/backends/api_backend.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/backends/backend.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/backends/cursor_backend.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/backends/example_backend.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/backends/file_backend.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/backends/json_backend.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/backends/memory_backend.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/backends/restful_api_advanced_search_backend.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/backends/secrets_backend.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/binding_config.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/audit.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/belongs_to.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/boolean.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/category_tree.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/column.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/created_by_authorization_data.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/created_by_header.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/created_by_ip.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/created_by_routing_data.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/created_by_user_agent.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/email.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/float.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/has_many.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/has_one.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/integer.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/json.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/many_to_many.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/many_to_many_with_data.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/phone.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/select.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/string.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/uuid.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/columns.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/condition_parser.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/contexts/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/contexts/bash.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/contexts/build_context.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/contexts/cli.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/contexts/context.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/contexts/convert_to_application.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/contexts/extract_handler.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/contexts/test.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/contexts/wsgi.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/auth0_jwks.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/authorization.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/binding_classes.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/binding_modules.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/bindings.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/create.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/delete.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/docs.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/get.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/jwks.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/merge.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/patch.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/post.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/public.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/response_headers.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/return_raw_response.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/schema.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/secret_bearer.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/decorators/security_headers.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/di/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/di/additional_config.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/di/additional_config_auto_import.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/di/di.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/di/test_module/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/di/test_module/another_module/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/di/test_module/module_class.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/environment.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/functional/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/functional/string.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/functional/validations.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/advanced_search.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/base.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/callable.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/create.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/crud_by_method.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/database_connector.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/delete.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/exceptions/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/exceptions/authentication.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/exceptions/authorization.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/exceptions/client_error.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/exceptions/input_error.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/exceptions/not_found.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/get.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/health_check.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/input_processing.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/list.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/mygrations.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/request_method_routing.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/restful_api.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/routing.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/schema_helper.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/simple_routing.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/simple_routing_route.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/simple_search.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/update.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/handlers/write.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_outputs/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_outputs/cli.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_outputs/exceptions/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_outputs/exceptions/cli_input_error.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_outputs/exceptions/cli_not_found.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_outputs/input_output.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_outputs/wsgi.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/after.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/before.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/in_the_future_at_least.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/in_the_future_at_most.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/in_the_past_at_least.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/in_the_past_at_most.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/maximum_length.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/maximum_value.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/minimum_length.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/minimum_value.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/required.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/requirement.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/time_delta.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/input_requirements/unique.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/mocks/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/mocks/input_output.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/mocks/models.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/model.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/secrets/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/secrets/additional_configs/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/secrets/additional_configs/mysql_connection_dynamic_producer.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssh_cert_bastion.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/secrets/akeyless.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/secrets/exceptions/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/secrets/exceptions/not_found.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/secrets/secrets.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/security_headers/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/security_headers/base.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/security_headers/cache_control.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/security_headers/cors.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/security_headers/csp.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/security_headers/hsts.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/security_headers/x_content_type_options.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/security_headers/x_frame_options.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/tests/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/tests/simple_api/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/tests/simple_api/models/__init__.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/tests/simple_api/models/status.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/tests/simple_api/models/user.py +0 -0
- {clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/tests/simple_api/users_api.py +0 -0
|
@@ -8,8 +8,8 @@ class Created(DateTime):
|
|
|
8
8
|
"utc",
|
|
9
9
|
]
|
|
10
10
|
|
|
11
|
-
def __init__(self, di, datetime):
|
|
12
|
-
super().__init__(di)
|
|
11
|
+
def __init__(self, di, datetime, timezone):
|
|
12
|
+
super().__init__(di, timezone)
|
|
13
13
|
self.datetime = datetime
|
|
14
14
|
|
|
15
15
|
@property
|
|
@@ -22,5 +22,5 @@ class Created(DateTime):
|
|
|
22
22
|
if self.config("utc", silent=True):
|
|
23
23
|
now = self.datetime.datetime.now(self.datetime.timezone.utc)
|
|
24
24
|
else:
|
|
25
|
-
now = self.datetime.datetime.now()
|
|
25
|
+
now = self.datetime.datetime.now(self._timezone)
|
|
26
26
|
return {**data, self.name: now}
|
|
@@ -8,8 +8,8 @@ class CreatedMicro(DateTimeMicro):
|
|
|
8
8
|
"utc",
|
|
9
9
|
]
|
|
10
10
|
|
|
11
|
-
def __init__(self, di, datetime):
|
|
12
|
-
super().__init__(di)
|
|
11
|
+
def __init__(self, di, datetime, timezone):
|
|
12
|
+
super().__init__(di, timezone)
|
|
13
13
|
self.datetime = datetime
|
|
14
14
|
|
|
15
15
|
@property
|
|
@@ -22,5 +22,5 @@ class CreatedMicro(DateTimeMicro):
|
|
|
22
22
|
if self.config("utc", silent=True):
|
|
23
23
|
now = self.datetime.datetime.now(self.datetime.timezone.utc)
|
|
24
24
|
else:
|
|
25
|
-
now = self.datetime.datetime.now()
|
|
25
|
+
now = self.datetime.datetime.now(self._timezone)
|
|
26
26
|
return {**data, self.name: now}
|
|
@@ -3,7 +3,6 @@ from datetime import datetime, timezone
|
|
|
3
3
|
import dateparser
|
|
4
4
|
from ..autodoc.schema import DateTime as AutoDocDateTime
|
|
5
5
|
|
|
6
|
-
|
|
7
6
|
class DateTime(Column):
|
|
8
7
|
_auto_doc_class = AutoDocDateTime
|
|
9
8
|
_date_format = "%Y-%m-%d %H:%M:%S"
|
|
@@ -14,8 +13,9 @@ class DateTime(Column):
|
|
|
14
13
|
"default_date",
|
|
15
14
|
]
|
|
16
15
|
|
|
17
|
-
def __init__(self, di):
|
|
16
|
+
def __init__(self, di, timezone: datetime.tzinfo):
|
|
18
17
|
super().__init__(di)
|
|
18
|
+
self._timezone = timezone
|
|
19
19
|
|
|
20
20
|
def _finalize_configuration(self, configuration):
|
|
21
21
|
return {
|
|
@@ -33,7 +33,7 @@ class DateTime(Column):
|
|
|
33
33
|
date = dateparser.parse(value)
|
|
34
34
|
else:
|
|
35
35
|
date = value
|
|
36
|
-
return date.replace(tzinfo=
|
|
36
|
+
return date.replace(tzinfo=self._timezone) if date else None
|
|
37
37
|
|
|
38
38
|
def to_backend(self, data):
|
|
39
39
|
if not self.name in data or type(data[self.name]) == str or data[self.name] == None:
|
|
@@ -47,7 +47,7 @@ class DateTime(Column):
|
|
|
47
47
|
return {self.name: datetime.isoformat() if datetime else None}
|
|
48
48
|
|
|
49
49
|
def build_condition(self, value, operator=None, column_prefix=""):
|
|
50
|
-
date = dateparser.parse(value).astimezone(
|
|
50
|
+
date = dateparser.parse(value).astimezone(self._timezone).strftime(self.config("date_format"))
|
|
51
51
|
if not operator:
|
|
52
52
|
operator = "="
|
|
53
53
|
return f"{column_prefix}{self.name}{operator}{date}"
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
from re import T
|
|
1
2
|
from .datetime import DateTime
|
|
2
3
|
from datetime import datetime, timezone
|
|
3
4
|
import dateparser
|
|
@@ -8,5 +9,5 @@ class DateTimeMicro(DateTime):
|
|
|
8
9
|
_date_format = "%Y-%m-%d %H:%M:%S.%f"
|
|
9
10
|
_default_date = "0000-00-00 00:00:00.000000"
|
|
10
11
|
|
|
11
|
-
def __init__(self, di):
|
|
12
|
-
super().__init__(di)
|
|
12
|
+
def __init__(self, di, timezone: datetime.tzinfo):
|
|
13
|
+
super().__init__(di, timezone)
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import time
|
|
1
2
|
from .datetime import DateTime
|
|
2
3
|
from datetime import datetime, timezone
|
|
3
4
|
import dateparser
|
|
@@ -28,16 +29,16 @@ class Timestamp(DateTime):
|
|
|
28
29
|
raise ValueError(
|
|
29
30
|
f"Invalid data was found in the backend for model {self.model_class.__name__} and column {self.name}: a string value was found that is not a timestamp. It was '{value}'"
|
|
30
31
|
)
|
|
31
|
-
date = datetime.fromtimestamp(int(value) / mult)
|
|
32
|
+
date = datetime.fromtimestamp(int(value) / mult, self._timezone)
|
|
32
33
|
elif isinstance(value, int):
|
|
33
|
-
date = datetime.fromtimestamp(value / mult)
|
|
34
|
+
date = datetime.fromtimestamp(value / mult, self._timezone)
|
|
34
35
|
else:
|
|
35
36
|
if not isinstance(value, datetime):
|
|
36
37
|
raise ValueError(
|
|
37
38
|
f"Invalid data was found in the backend for model {self.model_class.__name__} and column {self.name}: the value was neither an integer, a string, nor a datetime object"
|
|
38
39
|
)
|
|
39
40
|
date = value
|
|
40
|
-
return date.replace(tzinfo=
|
|
41
|
+
return date.replace(tzinfo=self._timezone) if date else None
|
|
41
42
|
|
|
42
43
|
def to_backend(self, data):
|
|
43
44
|
if not self.name in data or isinstance(data[self.name], int) or data[self.name] == None:
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
1
3
|
from .datetime import DateTime
|
|
2
4
|
|
|
3
5
|
|
|
@@ -8,8 +10,8 @@ class Updated(DateTime):
|
|
|
8
10
|
"utc",
|
|
9
11
|
]
|
|
10
12
|
|
|
11
|
-
def __init__(self, di, datetime):
|
|
12
|
-
super().__init__(di)
|
|
13
|
+
def __init__(self, di, datetime, timezone: datetime.tzinfo):
|
|
14
|
+
super().__init__(di, timezone)
|
|
13
15
|
self.datetime = datetime
|
|
14
16
|
|
|
15
17
|
@property
|
|
@@ -20,5 +22,5 @@ class Updated(DateTime):
|
|
|
20
22
|
if self.config("utc", silent=True):
|
|
21
23
|
now = self.datetime.datetime.now(self.datetime.timezone.utc)
|
|
22
24
|
else:
|
|
23
|
-
now = self.datetime.datetime.now()
|
|
25
|
+
now = self.datetime.datetime.now(self._timezone)
|
|
24
26
|
return {**data, self.name: now}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import datetime
|
|
2
|
+
|
|
1
3
|
from .datetime_micro import DateTimeMicro
|
|
2
4
|
|
|
3
5
|
|
|
@@ -8,8 +10,8 @@ class UpdatedMicro(DateTimeMicro):
|
|
|
8
10
|
"utc",
|
|
9
11
|
]
|
|
10
12
|
|
|
11
|
-
def __init__(self, di, datetime):
|
|
12
|
-
super().__init__(di)
|
|
13
|
+
def __init__(self, di, datetime, timezone: datetime.tzinfo):
|
|
14
|
+
super().__init__(di, timezone)
|
|
13
15
|
self.datetime = datetime
|
|
14
16
|
|
|
15
17
|
@property
|
|
@@ -20,5 +22,5 @@ class UpdatedMicro(DateTimeMicro):
|
|
|
20
22
|
if self.config("utc", silent=True):
|
|
21
23
|
now = self.datetime.datetime.now(self.datetime.timezone.utc)
|
|
22
24
|
else:
|
|
23
|
-
now = self.datetime.datetime.now()
|
|
25
|
+
now = self.datetime.datetime.now(self._timezone)
|
|
24
26
|
return {**data, self.name: now}
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
from abc import ABC, abstractmethod
|
|
2
2
|
from .condition_parser import ConditionParser
|
|
3
|
-
from typing import Any, Callable, Dict, List, Tuple
|
|
3
|
+
from typing import Any, Callable, Dict, List, Tuple, Iterator
|
|
4
|
+
|
|
5
|
+
try:
|
|
6
|
+
from typing_extensions import Self
|
|
7
|
+
except ModuleNotFoundError:
|
|
8
|
+
from typing import Self
|
|
4
9
|
|
|
5
10
|
|
|
6
11
|
class Models(ABC, ConditionParser):
|
|
@@ -46,26 +51,26 @@ class Models(ABC, ConditionParser):
|
|
|
46
51
|
"""Return the model class that this models object will find/return instances of"""
|
|
47
52
|
pass
|
|
48
53
|
|
|
49
|
-
def clone(self):
|
|
54
|
+
def clone(self) -> Self:
|
|
50
55
|
clone = self.blank()
|
|
51
56
|
clone.query_configuration = self.query_configuration
|
|
52
57
|
return clone
|
|
53
58
|
|
|
54
|
-
def blank(self):
|
|
59
|
+
def blank(self) -> Self:
|
|
55
60
|
return self._build_model()
|
|
56
61
|
|
|
57
|
-
def get_table_name(self):
|
|
62
|
+
def get_table_name(self) -> str:
|
|
58
63
|
if self._table_name is None:
|
|
59
64
|
self._table_name = self.model_class().table_name()
|
|
60
65
|
return self._table_name
|
|
61
66
|
|
|
62
|
-
def get_id_column_name(self):
|
|
67
|
+
def get_id_column_name(self) -> str:
|
|
63
68
|
if self._id_column_name is None:
|
|
64
69
|
self._id_column_name = self.empty_model().id_column_name
|
|
65
70
|
return self._id_column_name
|
|
66
71
|
|
|
67
72
|
@property
|
|
68
|
-
def query_configuration(self):
|
|
73
|
+
def query_configuration(self) -> Dict[str, Any]:
|
|
69
74
|
return {
|
|
70
75
|
"wheres": [*self.query_wheres],
|
|
71
76
|
"sorts": [*self.query_sorts],
|
|
@@ -80,7 +85,7 @@ class Models(ABC, ConditionParser):
|
|
|
80
85
|
}
|
|
81
86
|
|
|
82
87
|
@query_configuration.setter
|
|
83
|
-
def query_configuration(self, configuration):
|
|
88
|
+
def query_configuration(self, configuration: Dict[str, Any]):
|
|
84
89
|
self.query_wheres = configuration["wheres"]
|
|
85
90
|
self.query_sorts = configuration["sorts"]
|
|
86
91
|
self.query_group_by_column = configuration["group_by_column"]
|
|
@@ -97,29 +102,29 @@ class Models(ABC, ConditionParser):
|
|
|
97
102
|
self._model_columns = self.empty_model().columns()
|
|
98
103
|
return self._model_columns
|
|
99
104
|
|
|
100
|
-
def select(self, selects):
|
|
105
|
+
def select(self, selects) -> Self:
|
|
101
106
|
return self.clone().select_in_place(selects)
|
|
102
107
|
|
|
103
|
-
def select_in_place(self, selects):
|
|
108
|
+
def select_in_place(self, selects) -> Self:
|
|
104
109
|
self.query_selects.append(selects)
|
|
105
110
|
self.must_rexecute = True
|
|
106
111
|
self._next_page_data = None
|
|
107
112
|
return self
|
|
108
113
|
|
|
109
|
-
def select_all(self, select_all=True):
|
|
114
|
+
def select_all(self, select_all=True) -> Self:
|
|
110
115
|
return self.clone().select_all_in_place(select_all=select_all)
|
|
111
116
|
|
|
112
|
-
def select_all_in_place(self, select_all=True):
|
|
117
|
+
def select_all_in_place(self, select_all=True) -> Self:
|
|
113
118
|
self.query_select_all = select_all
|
|
114
119
|
self.must_rexecute = True
|
|
115
120
|
self._next_page_data = None
|
|
116
121
|
return self
|
|
117
122
|
|
|
118
|
-
def where(self, where):
|
|
123
|
+
def where(self, where: str) -> Self:
|
|
119
124
|
"""Adds the given condition to the query and returns a new Models object"""
|
|
120
125
|
return self.clone().where_in_place(where)
|
|
121
126
|
|
|
122
|
-
def where_in_place(self, where):
|
|
127
|
+
def where_in_place(self, where: str) -> Self:
|
|
123
128
|
"""Adds the given condition to the query for the current Models object"""
|
|
124
129
|
condition = self.parse_condition(where)
|
|
125
130
|
self._validate_column(condition["column"], "filter", table=condition["table"])
|
|
@@ -129,10 +134,10 @@ class Models(ABC, ConditionParser):
|
|
|
129
134
|
self.must_recount = True
|
|
130
135
|
return self
|
|
131
136
|
|
|
132
|
-
def join(self, join):
|
|
137
|
+
def join(self, join: str) -> Self:
|
|
133
138
|
return self.clone().join_in_place(join)
|
|
134
139
|
|
|
135
|
-
def join_in_place(self, join):
|
|
140
|
+
def join_in_place(self, join: str) -> Self:
|
|
136
141
|
self.query_joins.append(self.parse_join(join))
|
|
137
142
|
self.must_rexecute = True
|
|
138
143
|
self._next_page_data = None
|
|
@@ -150,10 +155,10 @@ class Models(ABC, ConditionParser):
|
|
|
150
155
|
return join["alias"] if join["alias"] else join["table"]
|
|
151
156
|
return False
|
|
152
157
|
|
|
153
|
-
def group_by(self, group_column):
|
|
158
|
+
def group_by(self, group_column: str) -> Self:
|
|
154
159
|
return self.clone().group_by_in_place(group_column)
|
|
155
160
|
|
|
156
|
-
def group_by_in_place(self, group_column):
|
|
161
|
+
def group_by_in_place(self, group_column: str) -> Self:
|
|
157
162
|
self._validate_column(group_column, "group")
|
|
158
163
|
self.query_group_by_column = group_column
|
|
159
164
|
self.must_rexecute = True
|
|
@@ -169,7 +174,7 @@ class Models(ABC, ConditionParser):
|
|
|
169
174
|
secondary_column=None,
|
|
170
175
|
secondary_direction=None,
|
|
171
176
|
secondary_table=None,
|
|
172
|
-
):
|
|
177
|
+
) -> Self:
|
|
173
178
|
return self.clone().sort_by_in_place(
|
|
174
179
|
primary_column,
|
|
175
180
|
primary_direction,
|
|
@@ -187,7 +192,7 @@ class Models(ABC, ConditionParser):
|
|
|
187
192
|
secondary_column=None,
|
|
188
193
|
secondary_direction=None,
|
|
189
194
|
secondary_table=None,
|
|
190
|
-
):
|
|
195
|
+
) -> Self:
|
|
191
196
|
sorts = [
|
|
192
197
|
{"table": primary_table, "column": primary_column, "direction": primary_direction},
|
|
193
198
|
{"table": secondary_table, "column": secondary_column, "direction": secondary_direction},
|
|
@@ -241,19 +246,19 @@ class Models(ABC, ConditionParser):
|
|
|
241
246
|
+ "to your model definition"
|
|
242
247
|
)
|
|
243
248
|
|
|
244
|
-
def limit(self, limit):
|
|
249
|
+
def limit(self, limit) -> Self:
|
|
245
250
|
return self.clone().limit_in_place(limit)
|
|
246
251
|
|
|
247
|
-
def limit_in_place(self, limit):
|
|
252
|
+
def limit_in_place(self, limit) -> Self:
|
|
248
253
|
self.query_limit = limit
|
|
249
254
|
self.must_rexecute = True
|
|
250
255
|
self._next_page_data = None
|
|
251
256
|
return self
|
|
252
257
|
|
|
253
|
-
def pagination(self, **kwargs):
|
|
258
|
+
def pagination(self, **kwargs) -> Self:
|
|
254
259
|
return self.clone().pagination_in_place(**kwargs)
|
|
255
260
|
|
|
256
|
-
def pagination_in_place(self, **kwargs):
|
|
261
|
+
def pagination_in_place(self, **kwargs) -> Self:
|
|
257
262
|
error = self._backend.validate_pagination_kwargs(kwargs, str)
|
|
258
263
|
if error:
|
|
259
264
|
raise ValueError(
|
|
@@ -265,7 +270,7 @@ class Models(ABC, ConditionParser):
|
|
|
265
270
|
self._next_page_data = None
|
|
266
271
|
return self
|
|
267
272
|
|
|
268
|
-
def find(self, where):
|
|
273
|
+
def find(self, where: str) -> Self:
|
|
269
274
|
"""Returns the first model where condition"""
|
|
270
275
|
return self.clone().where(where).first()
|
|
271
276
|
|
|
@@ -275,7 +280,7 @@ class Models(ABC, ConditionParser):
|
|
|
275
280
|
self.must_recount = False
|
|
276
281
|
return self.count
|
|
277
282
|
|
|
278
|
-
def __iter__(self):
|
|
283
|
+
def __iter__(self) -> Iterator[Self]:
|
|
279
284
|
self._next_page_data = {}
|
|
280
285
|
raw_rows = self._backend.records(
|
|
281
286
|
self.query_configuration,
|
|
@@ -285,7 +290,7 @@ class Models(ABC, ConditionParser):
|
|
|
285
290
|
models = iter([self.model(row) for row in raw_rows])
|
|
286
291
|
return models
|
|
287
292
|
|
|
288
|
-
def paginate_all(self):
|
|
293
|
+
def paginate_all(self) -> List[Self]:
|
|
289
294
|
next_models = self.clone()
|
|
290
295
|
results = list(next_models.__iter__())
|
|
291
296
|
next_page_data = next_models.next_page_data()
|
|
@@ -295,24 +300,24 @@ class Models(ABC, ConditionParser):
|
|
|
295
300
|
next_page_data = next_models.next_page_data()
|
|
296
301
|
return results
|
|
297
302
|
|
|
298
|
-
def model(self, data):
|
|
303
|
+
def model(self, data) -> Self:
|
|
299
304
|
model = self._build_model()
|
|
300
305
|
model.data = data
|
|
301
306
|
return model
|
|
302
307
|
|
|
303
|
-
def _build_model(self):
|
|
308
|
+
def _build_model(self) -> Self:
|
|
304
309
|
model_class = self.model_class()
|
|
305
310
|
return model_class(self._backend, self._columns)
|
|
306
311
|
|
|
307
|
-
def empty_model(self):
|
|
312
|
+
def empty_model(self) -> Self:
|
|
308
313
|
return self.model({})
|
|
309
314
|
|
|
310
|
-
def create(self, data):
|
|
315
|
+
def create(self, data: Dict[str, Any]) -> Self:
|
|
311
316
|
empty = self.empty_model()
|
|
312
317
|
empty.save(data)
|
|
313
318
|
return empty
|
|
314
319
|
|
|
315
|
-
def first(self):
|
|
320
|
+
def first(self) -> Self:
|
|
316
321
|
iter = self.__iter__()
|
|
317
322
|
try:
|
|
318
323
|
return iter.__next__()
|
|
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-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/__init__.py
RENAMED
|
File without changes
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/oai3_json.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/parameter.py
RENAMED
|
File without changes
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/request.py
RENAMED
|
File without changes
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/response.py
RENAMED
|
File without changes
|
|
File without changes
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/schema/array.py
RENAMED
|
File without changes
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/schema/default.py
RENAMED
|
File without changes
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/schema/enum.py
RENAMED
|
File without changes
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/autodoc/formats/oai3_json/schema/object.py
RENAMED
|
File without changes
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/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
|
|
File without changes
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/created_by_routing_data.py
RENAMED
|
File without changes
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/created_by_user_agent.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
|
{clear_skies-1.20.2 → clear_skies-1.21.0}/src/clearskies/column_types/many_to_many_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
|