clear-skies 1.22.31__py3-none-any.whl → 2.0.1__py3-none-any.whl
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.22.31.dist-info → clear_skies-2.0.1.dist-info}/METADATA +12 -14
- clear_skies-2.0.1.dist-info/RECORD +249 -0
- {clear_skies-1.22.31.dist-info → clear_skies-2.0.1.dist-info}/WHEEL +1 -1
- clearskies/__init__.py +42 -25
- clearskies/action.py +7 -0
- clearskies/authentication/__init__.py +8 -41
- clearskies/authentication/authentication.py +46 -0
- clearskies/authentication/authorization.py +8 -9
- clearskies/authentication/authorization_pass_through.py +11 -9
- clearskies/authentication/jwks.py +133 -58
- clearskies/authentication/public.py +3 -38
- clearskies/authentication/secret_bearer.py +516 -54
- clearskies/autodoc/formats/oai3_json/__init__.py +1 -1
- clearskies/autodoc/formats/oai3_json/oai3_json.py +9 -7
- clearskies/autodoc/formats/oai3_json/parameter.py +6 -3
- clearskies/autodoc/formats/oai3_json/request.py +7 -5
- clearskies/autodoc/formats/oai3_json/response.py +7 -4
- clearskies/autodoc/formats/oai3_json/schema/object.py +4 -1
- clearskies/autodoc/request/__init__.py +2 -0
- clearskies/autodoc/request/header.py +4 -6
- clearskies/autodoc/request/json_body.py +4 -6
- clearskies/autodoc/request/parameter.py +8 -0
- clearskies/autodoc/request/request.py +7 -4
- clearskies/autodoc/request/url_parameter.py +4 -6
- clearskies/autodoc/request/url_path.py +4 -6
- clearskies/autodoc/schema/__init__.py +4 -2
- clearskies/autodoc/schema/array.py +5 -6
- clearskies/autodoc/schema/boolean.py +4 -10
- clearskies/autodoc/schema/date.py +0 -3
- clearskies/autodoc/schema/datetime.py +1 -4
- clearskies/autodoc/schema/double.py +0 -3
- clearskies/autodoc/schema/enum.py +4 -2
- clearskies/autodoc/schema/integer.py +4 -9
- clearskies/autodoc/schema/long.py +0 -3
- clearskies/autodoc/schema/number.py +4 -9
- clearskies/autodoc/schema/object.py +5 -7
- clearskies/autodoc/schema/password.py +0 -3
- clearskies/autodoc/schema/schema.py +11 -0
- clearskies/autodoc/schema/string.py +4 -10
- clearskies/backends/__init__.py +55 -20
- clearskies/backends/api_backend.py +1100 -284
- clearskies/backends/backend.py +53 -84
- clearskies/backends/cursor_backend.py +236 -186
- clearskies/backends/memory_backend.py +519 -226
- clearskies/backends/secrets_backend.py +75 -31
- clearskies/column.py +1229 -0
- clearskies/columns/__init__.py +71 -0
- clearskies/columns/audit.py +205 -0
- clearskies/columns/belongs_to_id.py +483 -0
- clearskies/columns/belongs_to_model.py +128 -0
- clearskies/columns/belongs_to_self.py +105 -0
- clearskies/columns/boolean.py +109 -0
- clearskies/columns/category_tree.py +275 -0
- clearskies/columns/category_tree_ancestors.py +51 -0
- clearskies/columns/category_tree_children.py +127 -0
- clearskies/columns/category_tree_descendants.py +48 -0
- clearskies/columns/created.py +94 -0
- clearskies/columns/created_by_authorization_data.py +116 -0
- clearskies/columns/created_by_header.py +99 -0
- clearskies/columns/created_by_ip.py +92 -0
- clearskies/columns/created_by_routing_data.py +96 -0
- clearskies/columns/created_by_user_agent.py +92 -0
- clearskies/columns/date.py +230 -0
- clearskies/columns/datetime.py +278 -0
- clearskies/columns/email.py +76 -0
- clearskies/columns/float.py +149 -0
- clearskies/columns/has_many.py +505 -0
- clearskies/columns/has_many_self.py +56 -0
- clearskies/columns/has_one.py +14 -0
- clearskies/columns/integer.py +156 -0
- clearskies/columns/json.py +122 -0
- clearskies/columns/many_to_many_ids.py +333 -0
- clearskies/columns/many_to_many_ids_with_data.py +270 -0
- clearskies/columns/many_to_many_models.py +154 -0
- clearskies/columns/many_to_many_pivots.py +133 -0
- clearskies/columns/phone.py +158 -0
- clearskies/columns/select.py +91 -0
- clearskies/columns/string.py +98 -0
- clearskies/columns/timestamp.py +160 -0
- clearskies/columns/updated.py +110 -0
- clearskies/columns/uuid.py +86 -0
- clearskies/configs/README.md +105 -0
- clearskies/configs/__init__.py +162 -0
- clearskies/configs/actions.py +43 -0
- clearskies/configs/any.py +13 -0
- clearskies/configs/any_dict.py +22 -0
- clearskies/configs/any_dict_or_callable.py +23 -0
- clearskies/configs/authentication.py +23 -0
- clearskies/configs/authorization.py +23 -0
- clearskies/configs/boolean.py +16 -0
- clearskies/configs/boolean_or_callable.py +18 -0
- clearskies/configs/callable_config.py +18 -0
- clearskies/configs/columns.py +34 -0
- clearskies/configs/conditions.py +30 -0
- clearskies/configs/config.py +24 -0
- clearskies/configs/datetime.py +18 -0
- clearskies/configs/datetime_or_callable.py +19 -0
- clearskies/configs/endpoint.py +23 -0
- clearskies/configs/endpoint_list.py +28 -0
- clearskies/configs/float.py +16 -0
- clearskies/configs/float_or_callable.py +18 -0
- clearskies/configs/integer.py +16 -0
- clearskies/configs/integer_or_callable.py +18 -0
- clearskies/configs/joins.py +30 -0
- clearskies/configs/list_any_dict.py +30 -0
- clearskies/configs/list_any_dict_or_callable.py +31 -0
- clearskies/configs/model_class.py +35 -0
- clearskies/configs/model_column.py +65 -0
- clearskies/configs/model_columns.py +56 -0
- clearskies/configs/model_destination_name.py +25 -0
- clearskies/configs/model_to_id_column.py +43 -0
- clearskies/configs/readable_model_column.py +9 -0
- clearskies/configs/readable_model_columns.py +9 -0
- clearskies/configs/schema.py +23 -0
- clearskies/configs/searchable_model_columns.py +9 -0
- clearskies/configs/security_headers.py +39 -0
- clearskies/configs/select.py +26 -0
- clearskies/configs/select_list.py +47 -0
- clearskies/configs/string.py +29 -0
- clearskies/configs/string_dict.py +32 -0
- clearskies/configs/string_list.py +32 -0
- clearskies/configs/string_list_or_callable.py +35 -0
- clearskies/configs/string_or_callable.py +18 -0
- clearskies/configs/timedelta.py +18 -0
- clearskies/configs/timezone.py +18 -0
- clearskies/configs/url.py +23 -0
- clearskies/configs/validators.py +45 -0
- clearskies/configs/writeable_model_column.py +9 -0
- clearskies/configs/writeable_model_columns.py +9 -0
- clearskies/configurable.py +76 -0
- clearskies/contexts/__init__.py +8 -8
- clearskies/contexts/cli.py +8 -41
- clearskies/contexts/context.py +91 -56
- clearskies/contexts/wsgi.py +16 -29
- clearskies/contexts/wsgi_ref.py +53 -0
- clearskies/di/__init__.py +10 -7
- clearskies/di/additional_config.py +115 -4
- clearskies/di/additional_config_auto_import.py +12 -0
- clearskies/di/di.py +742 -121
- clearskies/di/inject/__init__.py +23 -0
- clearskies/di/inject/by_class.py +21 -0
- clearskies/di/inject/by_name.py +18 -0
- clearskies/di/inject/di.py +13 -0
- clearskies/di/inject/environment.py +14 -0
- clearskies/di/inject/input_output.py +20 -0
- clearskies/di/inject/now.py +13 -0
- clearskies/di/inject/requests.py +13 -0
- clearskies/di/inject/secrets.py +14 -0
- clearskies/di/inject/utcnow.py +13 -0
- clearskies/di/inject/uuid.py +15 -0
- clearskies/di/injectable.py +29 -0
- clearskies/di/injectable_properties.py +131 -0
- clearskies/end.py +183 -0
- clearskies/endpoint.py +1310 -0
- clearskies/endpoint_group.py +310 -0
- clearskies/endpoints/__init__.py +23 -0
- clearskies/endpoints/advanced_search.py +526 -0
- clearskies/endpoints/callable.py +388 -0
- clearskies/endpoints/create.py +202 -0
- clearskies/endpoints/delete.py +139 -0
- clearskies/endpoints/get.py +275 -0
- clearskies/endpoints/health_check.py +181 -0
- clearskies/endpoints/list.py +573 -0
- clearskies/endpoints/restful_api.py +427 -0
- clearskies/endpoints/simple_search.py +286 -0
- clearskies/endpoints/update.py +190 -0
- clearskies/environment.py +5 -3
- clearskies/exceptions/__init__.py +17 -0
- clearskies/{handlers/exceptions/input_error.py → exceptions/input_errors.py} +1 -1
- clearskies/exceptions/moved_permanently.py +3 -0
- clearskies/exceptions/moved_temporarily.py +3 -0
- clearskies/exceptions/not_found.py +2 -0
- clearskies/functional/__init__.py +2 -2
- clearskies/functional/routing.py +92 -0
- clearskies/functional/string.py +19 -11
- clearskies/functional/validations.py +61 -9
- clearskies/input_outputs/__init__.py +9 -7
- clearskies/input_outputs/cli.py +130 -142
- clearskies/input_outputs/exceptions/__init__.py +1 -1
- clearskies/input_outputs/headers.py +45 -0
- clearskies/input_outputs/input_output.py +91 -122
- clearskies/input_outputs/programmatic.py +69 -0
- clearskies/input_outputs/wsgi.py +23 -38
- clearskies/model.py +984 -183
- clearskies/parameters_to_properties.py +31 -0
- clearskies/query/__init__.py +12 -0
- clearskies/query/condition.py +223 -0
- clearskies/query/join.py +136 -0
- clearskies/query/query.py +196 -0
- clearskies/query/sort.py +27 -0
- clearskies/schema.py +82 -0
- clearskies/secrets/__init__.py +3 -31
- clearskies/secrets/additional_configs/mysql_connection_dynamic_producer.py +15 -4
- clearskies/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssh_cert_bastion.py +11 -5
- clearskies/secrets/akeyless.py +88 -147
- clearskies/secrets/secrets.py +8 -8
- clearskies/security_header.py +15 -0
- clearskies/security_headers/__init__.py +8 -8
- clearskies/security_headers/cache_control.py +47 -110
- clearskies/security_headers/cors.py +40 -95
- clearskies/security_headers/csp.py +76 -151
- clearskies/security_headers/hsts.py +14 -16
- clearskies/test_base.py +8 -0
- clearskies/typing.py +11 -0
- clearskies/validator.py +37 -0
- clearskies/validators/__init__.py +33 -0
- clearskies/validators/after_column.py +62 -0
- clearskies/validators/before_column.py +13 -0
- clearskies/validators/in_the_future.py +32 -0
- clearskies/validators/in_the_future_at_least.py +11 -0
- clearskies/validators/in_the_future_at_most.py +10 -0
- clearskies/validators/in_the_past.py +32 -0
- clearskies/validators/in_the_past_at_least.py +10 -0
- clearskies/validators/in_the_past_at_most.py +10 -0
- clearskies/validators/maximum_length.py +26 -0
- clearskies/validators/maximum_value.py +29 -0
- clearskies/validators/minimum_length.py +26 -0
- clearskies/validators/minimum_value.py +29 -0
- clearskies/validators/required.py +35 -0
- clearskies/validators/timedelta.py +59 -0
- clearskies/validators/unique.py +31 -0
- clear_skies-1.22.31.dist-info/RECORD +0 -214
- clearskies/application.py +0 -29
- clearskies/authentication/auth0_jwks.py +0 -118
- clearskies/authentication/auth_exception.py +0 -2
- clearskies/authentication/jwks_jwcrypto.py +0 -51
- clearskies/backends/api_get_only_backend.py +0 -48
- clearskies/backends/example_backend.py +0 -43
- clearskies/backends/file_backend.py +0 -48
- clearskies/backends/json_backend.py +0 -7
- clearskies/backends/restful_api_advanced_search_backend.py +0 -103
- clearskies/binding_config.py +0 -16
- clearskies/column_types/__init__.py +0 -203
- clearskies/column_types/audit.py +0 -249
- clearskies/column_types/belongs_to.py +0 -271
- clearskies/column_types/boolean.py +0 -60
- clearskies/column_types/category_tree.py +0 -304
- clearskies/column_types/column.py +0 -373
- clearskies/column_types/created.py +0 -26
- clearskies/column_types/created_by_authorization_data.py +0 -26
- clearskies/column_types/created_by_header.py +0 -24
- clearskies/column_types/created_by_ip.py +0 -17
- clearskies/column_types/created_by_routing_data.py +0 -25
- clearskies/column_types/created_by_user_agent.py +0 -17
- clearskies/column_types/created_micro.py +0 -26
- clearskies/column_types/datetime.py +0 -109
- clearskies/column_types/datetime_micro.py +0 -12
- clearskies/column_types/email.py +0 -18
- clearskies/column_types/float.py +0 -43
- clearskies/column_types/has_many.py +0 -179
- clearskies/column_types/has_one.py +0 -60
- clearskies/column_types/integer.py +0 -41
- clearskies/column_types/json.py +0 -25
- clearskies/column_types/many_to_many.py +0 -278
- clearskies/column_types/many_to_many_with_data.py +0 -162
- clearskies/column_types/phone.py +0 -48
- clearskies/column_types/select.py +0 -11
- clearskies/column_types/string.py +0 -24
- clearskies/column_types/timestamp.py +0 -73
- clearskies/column_types/updated.py +0 -26
- clearskies/column_types/updated_micro.py +0 -26
- clearskies/column_types/uuid.py +0 -25
- clearskies/columns.py +0 -123
- clearskies/condition_parser.py +0 -172
- clearskies/contexts/build_context.py +0 -54
- clearskies/contexts/convert_to_application.py +0 -190
- clearskies/contexts/extract_handler.py +0 -37
- clearskies/contexts/test.py +0 -94
- clearskies/decorators/__init__.py +0 -41
- clearskies/decorators/allow_non_json_bodies.py +0 -9
- clearskies/decorators/auth0_jwks.py +0 -22
- clearskies/decorators/authorization.py +0 -10
- clearskies/decorators/binding_classes.py +0 -9
- clearskies/decorators/binding_modules.py +0 -9
- clearskies/decorators/bindings.py +0 -9
- clearskies/decorators/create.py +0 -10
- clearskies/decorators/delete.py +0 -10
- clearskies/decorators/docs.py +0 -14
- clearskies/decorators/get.py +0 -10
- clearskies/decorators/jwks.py +0 -26
- clearskies/decorators/merge.py +0 -124
- clearskies/decorators/patch.py +0 -10
- clearskies/decorators/post.py +0 -10
- clearskies/decorators/public.py +0 -11
- clearskies/decorators/response_headers.py +0 -10
- clearskies/decorators/return_raw_response.py +0 -9
- clearskies/decorators/schema.py +0 -10
- clearskies/decorators/secret_bearer.py +0 -24
- clearskies/decorators/security_headers.py +0 -10
- clearskies/di/standard_dependencies.py +0 -151
- clearskies/handlers/__init__.py +0 -41
- clearskies/handlers/advanced_search.py +0 -271
- clearskies/handlers/base.py +0 -479
- clearskies/handlers/callable.py +0 -192
- clearskies/handlers/create.py +0 -35
- clearskies/handlers/crud_by_method.py +0 -18
- clearskies/handlers/database_connector.py +0 -32
- clearskies/handlers/delete.py +0 -61
- clearskies/handlers/exceptions/__init__.py +0 -5
- clearskies/handlers/exceptions/not_found.py +0 -3
- clearskies/handlers/get.py +0 -156
- clearskies/handlers/health_check.py +0 -59
- clearskies/handlers/input_processing.py +0 -79
- clearskies/handlers/list.py +0 -530
- clearskies/handlers/mygrations.py +0 -82
- clearskies/handlers/request_method_routing.py +0 -47
- clearskies/handlers/restful_api.py +0 -218
- clearskies/handlers/routing.py +0 -62
- clearskies/handlers/schema_helper.py +0 -128
- clearskies/handlers/simple_routing.py +0 -206
- clearskies/handlers/simple_routing_route.py +0 -197
- clearskies/handlers/simple_search.py +0 -136
- clearskies/handlers/update.py +0 -102
- clearskies/handlers/write.py +0 -193
- clearskies/input_requirements/__init__.py +0 -78
- clearskies/input_requirements/after.py +0 -36
- clearskies/input_requirements/before.py +0 -36
- clearskies/input_requirements/in_the_future_at_least.py +0 -19
- clearskies/input_requirements/in_the_future_at_most.py +0 -19
- clearskies/input_requirements/in_the_past_at_least.py +0 -19
- clearskies/input_requirements/in_the_past_at_most.py +0 -19
- clearskies/input_requirements/maximum_length.py +0 -19
- clearskies/input_requirements/maximum_value.py +0 -19
- clearskies/input_requirements/minimum_length.py +0 -22
- clearskies/input_requirements/minimum_value.py +0 -19
- clearskies/input_requirements/required.py +0 -23
- clearskies/input_requirements/requirement.py +0 -25
- clearskies/input_requirements/time_delta.py +0 -38
- clearskies/input_requirements/unique.py +0 -18
- clearskies/mocks/__init__.py +0 -7
- clearskies/mocks/input_output.py +0 -124
- clearskies/mocks/models.py +0 -142
- clearskies/models.py +0 -350
- clearskies/security_headers/base.py +0 -12
- clearskies/tests/simple_api/models/__init__.py +0 -2
- clearskies/tests/simple_api/models/status.py +0 -23
- clearskies/tests/simple_api/models/user.py +0 -21
- clearskies/tests/simple_api/users_api.py +0 -64
- {clear_skies-1.22.31.dist-info → clear_skies-2.0.1.dist-info}/LICENSE +0 -0
- /clearskies/{contexts/bash.py → autodoc/py.typed} +0 -0
- /clearskies/{handlers/exceptions → exceptions}/authentication.py +0 -0
- /clearskies/{handlers/exceptions → exceptions}/authorization.py +0 -0
- /clearskies/{handlers/exceptions → exceptions}/client_error.py +0 -0
- /clearskies/{tests/__init__.py → input_outputs/py.typed} +0 -0
- /clearskies/{tests/simple_api/__init__.py → py.typed} +0 -0
|
@@ -1,44 +1,42 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: clear-skies
|
|
3
|
-
Version:
|
|
3
|
+
Version: 2.0.1
|
|
4
4
|
Summary: A framework for building backends in the cloud
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: Conor Mancone
|
|
7
7
|
Author-email: cmancone@gmail.com
|
|
8
|
-
Requires-Python: >=3.
|
|
8
|
+
Requires-Python: >=3.11,<4.0
|
|
9
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
10
10
|
Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: License :: OSI Approved :: MIT License
|
|
12
12
|
Classifier: Programming Language :: Python :: 3
|
|
13
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.11
|
|
15
14
|
Classifier: Programming Language :: Python :: 3.12
|
|
16
15
|
Classifier: Programming Language :: Python :: 3.13
|
|
17
16
|
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
|
|
18
|
-
Provides-Extra: jose
|
|
19
17
|
Provides-Extra: jwcrypto
|
|
20
18
|
Provides-Extra: mysql
|
|
21
19
|
Provides-Extra: secrets
|
|
22
|
-
Requires-Dist: akeyless (>=
|
|
23
|
-
Requires-Dist: akeyless-cloud-id (>=0.3
|
|
24
|
-
Requires-Dist: dateparser (>=1.
|
|
25
|
-
Requires-Dist: jose (>=1.0.0,<2.0.0) ; extra == "jose"
|
|
20
|
+
Requires-Dist: akeyless (>=4.0.0,<5.0.0) ; extra == "secrets"
|
|
21
|
+
Requires-Dist: akeyless-cloud-id (>=0.2.3,<0.3.0) ; extra == "secrets"
|
|
22
|
+
Requires-Dist: dateparser (>=1.1.8,<2.0.0)
|
|
26
23
|
Requires-Dist: jwcrypto (>=1.5.6,<2.0.0) ; extra == "jwcrypto"
|
|
27
|
-
Requires-Dist: pymysql (>=1.1.
|
|
28
|
-
Requires-Dist: requests (>=2.
|
|
29
|
-
Requires-Dist: typing-extensions (>=4.
|
|
30
|
-
|
|
24
|
+
Requires-Dist: pymysql (>=1.1.0,<2.0.0) ; extra == "mysql"
|
|
25
|
+
Requires-Dist: requests (>=2.31.0,<3.0.0)
|
|
26
|
+
Requires-Dist: typing-extensions (>=4.12.0,<5.0.0) ; python_version == "3.10"
|
|
27
|
+
Requires-Dist: wrapt (>=1.16.0,<2.0.0)
|
|
28
|
+
Project-URL: Repository, https://github.com/clearskies-py/clearskies
|
|
31
29
|
Description-Content-Type: text/markdown
|
|
32
30
|
|
|
33
31
|
# clearskies
|
|
34
32
|
|
|
35
33
|
clearskies is a very opinionated Python framework intended for developing microservices in the cloud via declarative programming principles. It is mainly intended for backend services and so is designed for RESTful API endpoints, queue listeners, scheduled tasks, and the like.
|
|
36
34
|
|
|
37
|
-
|
|
35
|
+
## Installation, Documentation, and Usage
|
|
38
36
|
|
|
39
37
|
To install:
|
|
40
38
|
|
|
41
|
-
```
|
|
39
|
+
```bash
|
|
42
40
|
pip3 install clear-skies
|
|
43
41
|
```
|
|
44
42
|
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
clearskies/__init__.py,sha256=HLBu0CXipIp-Cr_-iBfpN4UlrFwsjTNFOwF9i0iN5i0,1241
|
|
2
|
+
clearskies/action.py,sha256=x_T05XaC0m-BYPZWaSR94XbE7T5ZK1vRtSfEszfZuDg,121
|
|
3
|
+
clearskies/authentication/__init__.py,sha256=MxXNCWhKbha7TPu_MAyssfTdOCEDSNBwzshEHx8gfHo,525
|
|
4
|
+
clearskies/authentication/authentication.py,sha256=N-g2qNDGuJaSlMwc_SRwsjAuqOMLI2nKfUzSCF7HOFo,1240
|
|
5
|
+
clearskies/authentication/authorization.py,sha256=3XEOUlQx9XeRPpNEk4GCa-xWafrz-3Xd0T1PCSFuVxY,570
|
|
6
|
+
clearskies/authentication/authorization_pass_through.py,sha256=d3XKcUWmI_u9QBBTGKrU1hdD-LM56iH60Qv_xc8TE6k,512
|
|
7
|
+
clearskies/authentication/jwks.py,sha256=5QVqfXsT95jEKkbm1xnUZsEoIwqMLviDyDRlK_s8xAw,4888
|
|
8
|
+
clearskies/authentication/public.py,sha256=GSNl4X4fnB25BZoXSo8nqL0iZCa9rzfvPfIsJ2Y34B4,84
|
|
9
|
+
clearskies/authentication/secret_bearer.py,sha256=3eENEx38lTbiLkHKixE_m32RVeKt_ZTwjCc2WGMft7I,17618
|
|
10
|
+
clearskies/autodoc/__init__.py,sha256=JRUAmd0he8iGlgiZvxewLMIXJqnOFEdvlaKAtHpC2lo,124
|
|
11
|
+
clearskies/autodoc/formats/__init__.py,sha256=3rhoLKmEwT6PljaHvOl9qdeMIXyD7PQBZbqZKy5Mb5I,56
|
|
12
|
+
clearskies/autodoc/formats/oai3_json/__init__.py,sha256=C9DzR38Uu0t41osMzhQx6K-hyaNWA1t6agTzOXW9k88,142
|
|
13
|
+
clearskies/autodoc/formats/oai3_json/oai3_json.py,sha256=8q3_-Ea-nKySszDQTU2rTyGrp0t_X3IjUMfH1vLt4z8,3052
|
|
14
|
+
clearskies/autodoc/formats/oai3_json/oai3_schema_resolver.py,sha256=5gifJ36dyWEeYtfjHVbbTpPBo0BB1Gqxt0Y3sxTiHJA,509
|
|
15
|
+
clearskies/autodoc/formats/oai3_json/parameter.py,sha256=h9bHXxqJhUc7NRQCZF6RnIPuaY9BA6V_xzYNnsplXlc,1110
|
|
16
|
+
clearskies/autodoc/formats/oai3_json/request.py,sha256=WHEWQvhuhkw82V4YS6GwDN4y8Qy7QDSn9awJEhwLmWU,2939
|
|
17
|
+
clearskies/autodoc/formats/oai3_json/response.py,sha256=ou06oFQtaAR70qIvIoAe4QzohWiACzhCwlW73oM5Dvg,778
|
|
18
|
+
clearskies/autodoc/formats/oai3_json/schema/__init__.py,sha256=VJiDueMdGfJoVQVt9SXIE_-uPghSXtCzpTXuqPaaiRw,173
|
|
19
|
+
clearskies/autodoc/formats/oai3_json/schema/array.py,sha256=1VOrMC_i1JSu1Gw2cqQ7uVDhSk-xNm25io7oBQL9PZM,310
|
|
20
|
+
clearskies/autodoc/formats/oai3_json/schema/default.py,sha256=BhwQebdIaK6rrATu6yZxPU3bqVmd4LFKTTlydJVl644,484
|
|
21
|
+
clearskies/autodoc/formats/oai3_json/schema/enum.py,sha256=7qkpYWXPwbkgkoHPAowMIHJeGNb81qQmTmIIdc5yJbA,265
|
|
22
|
+
clearskies/autodoc/formats/oai3_json/schema/object.py,sha256=-RLIbma-yG6XjGwzBAP7b-smwLhMronW-kdoP5T-Nfk,878
|
|
23
|
+
clearskies/autodoc/formats/oai3_json/test.json,sha256=DdMvSUbaTEAyWtX_RDxEFR82kK9pCCTeFUghQwHjB3s,59848
|
|
24
|
+
clearskies/autodoc/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
+
clearskies/autodoc/request/__init__.py,sha256=-L1hZ70QKn0yzXJtpQS741lbcYXA4i0xQnkebKDjzsA,303
|
|
26
|
+
clearskies/autodoc/request/header.py,sha256=TCeRyFFqcgNN8o9vEmc0JTxs7vRlMHnlhs7zsYfShRM,104
|
|
27
|
+
clearskies/autodoc/request/json_body.py,sha256=qURg3_4fQA9ZUVeR_T0g-RZ8seFIrI0ME-s4PzosfGE,108
|
|
28
|
+
clearskies/autodoc/request/parameter.py,sha256=Z7l7gdsOw-SSLYfL8kQmLnslg89JUQObppxatJiI2sA,233
|
|
29
|
+
clearskies/autodoc/request/request.py,sha256=t1LRnf440xtLaDm8xlbWH9RWtliAstczbKbOsU8HfXg,1371
|
|
30
|
+
clearskies/autodoc/request/url_parameter.py,sha256=mwM9Fe16h_8tdPXvXokjzOH1I2Txs-GFjK1a9FQND2w,117
|
|
31
|
+
clearskies/autodoc/request/url_path.py,sha256=WmZDltORzCir4Ei6_XqoBlh7UBpZZmvZIDfaQezGtmc,107
|
|
32
|
+
clearskies/autodoc/response/__init__.py,sha256=a0vlujvsyLkq1zleRTqcGULoaXTJLkjyTKCUWdsq8Uc,62
|
|
33
|
+
clearskies/autodoc/response/response.py,sha256=I3-wA1gd5XKYey_7gqBoWA-II4k6URop48NO3ckQoh4,266
|
|
34
|
+
clearskies/autodoc/schema/__init__.py,sha256=PF4jywX7Bk6rXaK0LxTQnxk1FLg2O3_Gdm3_XpN61nI,586
|
|
35
|
+
clearskies/autodoc/schema/array.py,sha256=hBLtH5v-o7-KtiFscoa-KAxW4Fcqv_5h542eS7yOo0o,262
|
|
36
|
+
clearskies/autodoc/schema/base64.py,sha256=IPISPbUVf02N_fqcxRMsaiBvFTXAznngZxlWSSyHh-w,190
|
|
37
|
+
clearskies/autodoc/schema/boolean.py,sha256=e6ofkyPcKZllMvSL96M3whjA-tWeT0m5AVotl61wIG8,74
|
|
38
|
+
clearskies/autodoc/schema/date.py,sha256=5IiLM2La1br1E3url6_6k54PYyw_3SyAvvKb1kNReSA,70
|
|
39
|
+
clearskies/autodoc/schema/datetime.py,sha256=WoIPfpVWvr4znQpkqTUT_R1jdnulEvXfOAI3al-AzFA,79
|
|
40
|
+
clearskies/autodoc/schema/double.py,sha256=Wyv9aiPRneeoYWHoYlvkkLUo4WaLnQdvg6ePkXL6k5I,74
|
|
41
|
+
clearskies/autodoc/schema/enum.py,sha256=YP6hPYXTlHWEIPyczPKtimm9luvTcLTT6YrKdGTwty0,413
|
|
42
|
+
clearskies/autodoc/schema/integer.py,sha256=AVqcNyJemzA0Cgg8OGPntDIGONcvOaPWeBVkyQ0ENcY,96
|
|
43
|
+
clearskies/autodoc/schema/long.py,sha256=NhRYUQhr1PZR2gI945RXzu9SfV_hQnTzlxrYCAZKOEo,74
|
|
44
|
+
clearskies/autodoc/schema/number.py,sha256=z6q7XPKW_rLZSv4nYMOcKYQJgXZlmBq9-zsK3kGmI5M,94
|
|
45
|
+
clearskies/autodoc/schema/object.py,sha256=sjW3A1yIGCseRcHHmVbkxNtsg6EPivVMSmmRyZjO_1w,346
|
|
46
|
+
clearskies/autodoc/schema/password.py,sha256=hSXPvHoXEbG-KHQFxXubEarxSMg9Cki_n8tw_yvEFp4,78
|
|
47
|
+
clearskies/autodoc/schema/schema.py,sha256=KZ4r88OUMzbeV4DQ3yUhK8bHS_zJiimsWPWc1rJVDZs,244
|
|
48
|
+
clearskies/autodoc/schema/string.py,sha256=GXRI-aU8PYmjfnhmfaOe4vq7JASb-aB4SiFeG-EmJY0,60
|
|
49
|
+
clearskies/backends/__init__.py,sha256=krBB3gHLP-lVYkm5ksdK7teEtouAHhL3EC__WGVnF4A,3157
|
|
50
|
+
clearskies/backends/api_backend.py,sha256=fRt0U5pZn41ltZUKjbYguJrtNxchSJICLOYIV1bJV7A,54901
|
|
51
|
+
clearskies/backends/backend.py,sha256=_TFMXAHgIY-vPGhx8SYjSTbVd9r-6KpLbLnfNsCXuV8,5874
|
|
52
|
+
clearskies/backends/cursor_backend.py,sha256=lMnkHATU2Fxr0ihgrVnvI9IVnUPxNfjzpkdJIok2mXY,14360
|
|
53
|
+
clearskies/backends/memory_backend.py,sha256=fXgbFcTvbZeKHs4CsI_yNsofHSjWqZqY9QWI7uJzVws,34260
|
|
54
|
+
clearskies/backends/secrets_backend.py,sha256=zlS2ELM6pgS18tt6KvyOPqHWMMFCqsu76prEnZ8GeE0,4323
|
|
55
|
+
clearskies/column.py,sha256=4FdsU4hh1u7ekY42uh2_A5J13RtPxaf84NRj39gbTak,51963
|
|
56
|
+
clearskies/columns/__init__.py,sha256=a__-1hv-aMV3RU0Sd-BEkfItSJaG51EF2VeRQoTdka8,1990
|
|
57
|
+
clearskies/columns/audit.py,sha256=vwWQR_lNKonihb71qUoKQwzLQ5VA1ASFOm7ggA9jJ3Y,7628
|
|
58
|
+
clearskies/columns/belongs_to_id.py,sha256=H6yWsnMgr1za8hRWW40R499SVuTd11Ixb1YCacqCTHM,17820
|
|
59
|
+
clearskies/columns/belongs_to_model.py,sha256=gahATn7dyLsqtS9A1S2ggBOhy6t-x6m84-BjQaPywZk,5703
|
|
60
|
+
clearskies/columns/belongs_to_self.py,sha256=PbSsZVeHe_oex5_aVo059QI4-NjI3ZMGwzPjxNfCwJE,3784
|
|
61
|
+
clearskies/columns/boolean.py,sha256=VJWWgX_QUoc8Otk7S3Ddxea59UlDbaUqiCfMo99Ar1g,3831
|
|
62
|
+
clearskies/columns/category_tree.py,sha256=e4Ja5O3W0XGJCqnJtoJ4Bi2gnuc51UhfJjPbvQ9FiQs,11142
|
|
63
|
+
clearskies/columns/category_tree_ancestors.py,sha256=FRFAMD3E6GzOzzLkY-IhWBdiYSpHHnthF5kX8V3iPr8,1380
|
|
64
|
+
clearskies/columns/category_tree_children.py,sha256=2I3iOBVzcxPp1_NojsCC0exfQDipxbYzGelOcQeUY1M,5267
|
|
65
|
+
clearskies/columns/category_tree_descendants.py,sha256=qM3rgqmxpUkOcCz8b-xCsMDRxjrBpPKyQ_FLGG0ItUc,1234
|
|
66
|
+
clearskies/columns/created.py,sha256=cQQRjqaVwLIQYWyEbuaYsIwYuZOpAXe7XYmysLzeuqY,2851
|
|
67
|
+
clearskies/columns/created_by_authorization_data.py,sha256=7Tp9HOvZXRt6_sUO_8i3UqJ1brp0ZWocYKCCdPW8BSs,4824
|
|
68
|
+
clearskies/columns/created_by_header.py,sha256=WQOl3eyC_bcPn646eTXaynDWEhWtJ6Rw3B31ls-f4lg,3672
|
|
69
|
+
clearskies/columns/created_by_ip.py,sha256=uyiFCwbYaQPZ0pn8asoI-zUMONBQiPnS4tHvnZHTbfU,2811
|
|
70
|
+
clearskies/columns/created_by_routing_data.py,sha256=Joktt9TLFEnqdohKdc11yywE2ZAVNpWA1o6dP-KZyhs,3626
|
|
71
|
+
clearskies/columns/created_by_user_agent.py,sha256=a2OaB5tacr-2Dlvzxjw6tDGhlJIBXZTb69hpy4lxVmM,2896
|
|
72
|
+
clearskies/columns/date.py,sha256=cW94wJAp2K5Qwc04Rl_HY9VD31ia0VQyFcecuvKrVa8,8719
|
|
73
|
+
clearskies/columns/datetime.py,sha256=IJPoCXNMvh_D-KSuE2UBR1dJIfb0EHGooCWonqqvLj0,10463
|
|
74
|
+
clearskies/columns/email.py,sha256=74es6fdA4MJQ9cm5WfEgEvqZgj5pdnFE96cKN1YQ4b0,1868
|
|
75
|
+
clearskies/columns/float.py,sha256=S5ypL0WfguWzKOQzFq5m7bd31IzndNqwazeUIsGcrtk,4453
|
|
76
|
+
clearskies/columns/has_many.py,sha256=RIIks40phXZ_leKoqX4j4w3X6gpRJjDHf7A9SJs9xC0,18670
|
|
77
|
+
clearskies/columns/has_many_self.py,sha256=kFr2eEviiKy_G7zTQx-YqBi5qlWKQaxBylRp-CNiOxg,2425
|
|
78
|
+
clearskies/columns/has_one.py,sha256=8cwfNmAFO1DdfBsZ1scpc3LwLoSUHWR_zPn4T-DN0Mg,396
|
|
79
|
+
clearskies/columns/integer.py,sha256=qWG6JQhZlhrTrIepbeJRdfgShwNXs2ZMj3vCbBDDrIU,4543
|
|
80
|
+
clearskies/columns/json.py,sha256=XZYNs4I2jykYvx8b_jPuRB_x5Ko-AgnnmtV7bjzDzOA,3458
|
|
81
|
+
clearskies/columns/many_to_many_ids.py,sha256=d2kW_QBbxOMU37_uO0LvDMSr1rB4sAlavabEgtze2qc,14158
|
|
82
|
+
clearskies/columns/many_to_many_ids_with_data.py,sha256=i4D9vh61MfP8PpH68vxHGwQgiYJ2YIWKj-EwejEx_nY,11910
|
|
83
|
+
clearskies/columns/many_to_many_models.py,sha256=SUmPcLQqUuj2ptXfNKqHd-DjHBB2yAuklaLbN5dvXFk,7238
|
|
84
|
+
clearskies/columns/many_to_many_pivots.py,sha256=qBsHUBpHSNAAtPfEjMw8rJ7_P51117iA4f1Nz_yaQ0Y,5731
|
|
85
|
+
clearskies/columns/phone.py,sha256=Cv_gAeREmFbTIln6y6yQZrkxzB8PWvKtK3bneABdEko,5219
|
|
86
|
+
clearskies/columns/select.py,sha256=P_nb1n-VQs7-w_GcZ7AAWq0_QA_KQ7EA_kBOng_HgLY,2751
|
|
87
|
+
clearskies/columns/string.py,sha256=MeRN5gMf6SjUV1w6U013-QFWMCEx9h5NJz8uZMlvIhQ,2451
|
|
88
|
+
clearskies/columns/timestamp.py,sha256=_1T20qTVHeLEqqKlxb7IFwUvcYsLWPrGMylPwvVCGBc,5827
|
|
89
|
+
clearskies/columns/updated.py,sha256=_gJw8W_HlNKr-bHTE4eHqMqbFqJ4JcSzTRDLOt7d0Us,3481
|
|
90
|
+
clearskies/columns/uuid.py,sha256=WjWqkGHU6MlxjNQYW8lscgsOfG4mDQnJZGxEqQAoeQU,2432
|
|
91
|
+
clearskies/configs/README.md,sha256=4-r2FvkrBTrKkcKgJ5O3Qj1RZ7nnkknenKze4XYlQDs,4827
|
|
92
|
+
clearskies/configs/__init__.py,sha256=XnnokLN7tYOXRhupmHEIVH-InTHlPJZ28kNHPhzOuLM,5093
|
|
93
|
+
clearskies/configs/actions.py,sha256=5OwrokU8uTSSQ_6SvL94SOP5JVkvRRFGAXNcCdMt8aQ,1388
|
|
94
|
+
clearskies/configs/any.py,sha256=_nac0cZY9uRhwGQZqj2N72ZFehYqOedb97lPADP3Yg8,352
|
|
95
|
+
clearskies/configs/any_dict.py,sha256=B8Gd0zwC-6UxvMvPsXMJySzVMADxG3oxnrhgBnJWCGo,871
|
|
96
|
+
clearskies/configs/any_dict_or_callable.py,sha256=cMUaiwcwJS2xv3InwV93icwahUaxoJCbtBwXDylIk-o,1051
|
|
97
|
+
clearskies/configs/authentication.py,sha256=9XZClfYcECi5dzt1BvDof34tW6IotN252bcxlc_u2fc,842
|
|
98
|
+
clearskies/configs/authorization.py,sha256=Pa6wCyMitpKv2Nde69tMB5sJsxeCI2nVSdTuwF6R9pQ,828
|
|
99
|
+
clearskies/configs/boolean.py,sha256=3uoxUmYIK5CAIZRtpcDy18AJ3MWljgUTyvzvSG3EU6I,588
|
|
100
|
+
clearskies/configs/boolean_or_callable.py,sha256=nvvWD_A5HoxW-6_rZJL23_1517T8IQ6Kbu4tNZh9R1E,709
|
|
101
|
+
clearskies/configs/callable_config.py,sha256=gcTlRwCppdaj1gFuCugc4ahxMCTEDKD_z_f85eadWpc,650
|
|
102
|
+
clearskies/configs/columns.py,sha256=WhdpPUiwVqwBO2XCDDiMym2nWr_1-L1JoICyob4T6Wo,1258
|
|
103
|
+
clearskies/configs/conditions.py,sha256=a09bVac4-10ZtKPQGSu_e9VnHnwITwy_7_T4NekXpgs,1008
|
|
104
|
+
clearskies/configs/config.py,sha256=Mw9wnPzEekHGfmNFH9f2vJ3BOPx3l1ktxwZc95flyQg,873
|
|
105
|
+
clearskies/configs/datetime.py,sha256=jRYXwLeTUqh8FNwWq_0yYoSH8YU9NEhYhuQScr56nTg,653
|
|
106
|
+
clearskies/configs/datetime_or_callable.py,sha256=81YCDk0g5cIxdXxgem1Ei6m7gUI213Cfryp3GyBfpD4,799
|
|
107
|
+
clearskies/configs/endpoint.py,sha256=NEDthtdPzejAot7yzUjC01PvQJR9BIyk5YnWXCi1w9I,759
|
|
108
|
+
clearskies/configs/endpoint_list.py,sha256=I_o5T46XT-I-tbQODJbpCF9LkgEccOz97mYFZuwjx4M,1144
|
|
109
|
+
clearskies/configs/float.py,sha256=3870-DkoXCyeOSwUGa69BzhG4XI_tNfei5cX-q1b1UQ,585
|
|
110
|
+
clearskies/configs/float_or_callable.py,sha256=lIOg20Xw0AOB0k3I7f0b98srVgMWQKcyM4aWRT0tUI4,708
|
|
111
|
+
clearskies/configs/integer.py,sha256=d6uoQaUoE01rrWOsxYl1vHG_raUFmB0AUOgoCWwOVC0,584
|
|
112
|
+
clearskies/configs/integer_or_callable.py,sha256=IrVY2Ye57xTxuzOYZ0JY7s6nH6Iphsps32x1dNpcUbw,703
|
|
113
|
+
clearskies/configs/joins.py,sha256=i1QmxFwkpL-pnzVPh3mrHpwrvzsjt9nH5pMSj4J1TT4,944
|
|
114
|
+
clearskies/configs/list_any_dict.py,sha256=YLvlEbM3MrxcOLps5a8CCVl-5o82z4J2aIqKDB7VruU,1327
|
|
115
|
+
clearskies/configs/list_any_dict_or_callable.py,sha256=96mtN6DwkKCAmHlFDHRKnWIhODDu5PQ4O9RpE3wVWh0,1545
|
|
116
|
+
clearskies/configs/model_class.py,sha256=ks0hnB2mZFHjhR3-x51d8IJSLVBclNjD_GhBcNfIxZE,1170
|
|
117
|
+
clearskies/configs/model_column.py,sha256=asTgdSIv27rZQP6KKfvkyRxB4iNgRIExm2DplL95Ro0,2584
|
|
118
|
+
clearskies/configs/model_columns.py,sha256=Kxm1K9jV9ribQtQUMsdyZmKv9GbqLteX_VhEEc9PVzY,2467
|
|
119
|
+
clearskies/configs/model_destination_name.py,sha256=lgC6kDEPWH4cHbAF_N92IF7JdMwNzSkau0HmcyeQ7Ik,983
|
|
120
|
+
clearskies/configs/model_to_id_column.py,sha256=1ItXK4bpOV0putVbOmDcPMH9qz1LDiW1uCN2Z0Qf_co,1543
|
|
121
|
+
clearskies/configs/readable_model_column.py,sha256=SD3LzGkzLbODQILliJveGO-xQxPmOMOL-XX0ROCQ__g,316
|
|
122
|
+
clearskies/configs/readable_model_columns.py,sha256=bz-jwdwhSzs57Dp0ffrajPL0WWZfUXxbhA33zLQmkO8,320
|
|
123
|
+
clearskies/configs/schema.py,sha256=W7xK5EOvZbbi2H5CgT4iifefrR2-XJXBNNx4f8t7j7o,766
|
|
124
|
+
clearskies/configs/searchable_model_columns.py,sha256=SEpYLsaCuT4PJ01RbIeSxGIgVFfFjkvAk9jkDt1AsC8,326
|
|
125
|
+
clearskies/configs/security_headers.py,sha256=wNtoUsghhec-NNZl9dSIRxTTApYw2vukbslYI-YY968,1403
|
|
126
|
+
clearskies/configs/select.py,sha256=xhhgqZZ5fE379iRRuLhV4ouKWro50ODusgtFlU96Ze0,1021
|
|
127
|
+
clearskies/configs/select_list.py,sha256=upnGgw4rHLHlfeKoZps9vrtnzWJr9qN9TDbyu6lw7ps,1889
|
|
128
|
+
clearskies/configs/string.py,sha256=LSPMeh30ljWvC21jNDFmCsyOLMgg_Ip2sV1_fkUxEg4,1093
|
|
129
|
+
clearskies/configs/string_dict.py,sha256=XBK6p1MmzU0gux14Rtc1S9B9PLVcuybRjHxK--LCd3Q,1356
|
|
130
|
+
clearskies/configs/string_list.py,sha256=W33fZfetBvKmT2c1Hza7dtxv2b_xGbAPCQLuUXoM75s,1202
|
|
131
|
+
clearskies/configs/string_list_or_callable.py,sha256=9JycGdX9oUi7IGyY7j50ehTuM2RlQ429BO0NEM1x5eM,1455
|
|
132
|
+
clearskies/configs/string_or_callable.py,sha256=2Bg05AYN6j3v4ttFOmD-EBGfYpok67yiuFXnTTUhhNo,702
|
|
133
|
+
clearskies/configs/timedelta.py,sha256=KpuPDu1_ewEGT_JWCp_YQtKPgZesJClAmxHq047MOjY,667
|
|
134
|
+
clearskies/configs/timezone.py,sha256=FShZlSfCeRk7YkDREJpYC_B8mi-H1aC6Q2CZT659es8,683
|
|
135
|
+
clearskies/configs/url.py,sha256=dx02oiwt8ua5Kv30dJFE0ekJ6Zgz3lcPq9-UNIblI9s,775
|
|
136
|
+
clearskies/configs/validators.py,sha256=aAvf5dgncR8OP7_M7QUNhsHau4wAdPiXw9wNARRAYNY,1346
|
|
137
|
+
clearskies/configs/writeable_model_column.py,sha256=ZwroRcvmNznggtNMSZiAmKAvllcV9LDWZSB-J330Lxg,319
|
|
138
|
+
clearskies/configs/writeable_model_columns.py,sha256=D8E4aQRg1MX8-TM8lkyrWE-G_YoX2eerX4KLszgk0hA,323
|
|
139
|
+
clearskies/configurable.py,sha256=FFkKwlQk17KOLnZiTsTF3hrCu2WxRSuuddNNhz9aySY,3049
|
|
140
|
+
clearskies/contexts/__init__.py,sha256=f7XVUq2UKlDH6fjmcUWk6lbe9p_OaGpZ5ZjM6CuwTGQ,247
|
|
141
|
+
clearskies/contexts/cli.py,sha256=HSzHieVsD3a0uQb6FBue17HVT4PjSY8LWhjW3rw7lQw,285
|
|
142
|
+
clearskies/contexts/context.py,sha256=jbd8JdDkFruHiAYHZWrLjOvqz31LkvfApArCOVwkyfo,3630
|
|
143
|
+
clearskies/contexts/wsgi.py,sha256=lENadrI53LYUCa3Mn4JjxhTn-53Ry9l6w2kBU3CQ5AM,611
|
|
144
|
+
clearskies/contexts/wsgi_ref.py,sha256=Tkq0QYE7_ZdYvEcRKbyh-6UwwuExUadKdylwdxcCmQQ,1814
|
|
145
|
+
clearskies/di/__init__.py,sha256=uJ1NkACEIaot7ALr3M6vQ55Pe9By_s_1z52ssAnw28E,466
|
|
146
|
+
clearskies/di/additional_config.py,sha256=65INxw8aqTZQsyaKPj-aQmd6FBe4_4DwibXGgWYBy14,5139
|
|
147
|
+
clearskies/di/additional_config_auto_import.py,sha256=XYw0Kcnp6hp-ee-c0YjiATwJvRb2E82xk9PuoX9dGRY,758
|
|
148
|
+
clearskies/di/di.py,sha256=pWNzUDd2nxnKZP12I5SpAL3PYBWCmnM6jsT7i7cEGCM,45137
|
|
149
|
+
clearskies/di/inject/__init__.py,sha256=plEkWId-VyhvqX5KM2HhdCqi7_ZJzPmFz69cPAo812Y,643
|
|
150
|
+
clearskies/di/inject/by_class.py,sha256=dUA_ZseLZWT30wnkg272rWwe5FzUpr0gCMMQP_HFahc,796
|
|
151
|
+
clearskies/di/inject/by_name.py,sha256=oEfzeotUXPbUAiBrkE7i19nD2ISk59EEwCH3pcgSmqA,639
|
|
152
|
+
clearskies/di/inject/di.py,sha256=JsQJgoxGdawKN3mAfK5Pu7Ju2b1f0JB0PGQmnSaz2RM,275
|
|
153
|
+
clearskies/di/inject/environment.py,sha256=LWzx1ebujXtgQDGHmiX3O8nB3hihZY7Rl-_ZW-qEH-0,450
|
|
154
|
+
clearskies/di/inject/input_output.py,sha256=URb2qt8F-0QJ1zQpGdkrJxrZVNyF7S21EhhE5x2Irys,517
|
|
155
|
+
clearskies/di/inject/now.py,sha256=XZLeCWRQGQdwG12orozpB2YKS4cQYblc2iVHxEmJneU,359
|
|
156
|
+
clearskies/di/inject/requests.py,sha256=GCfPWEZKrL7uergQB-ZYF235GKG4FAYy5WngRhIOi7I,367
|
|
157
|
+
clearskies/di/inject/secrets.py,sha256=zK7ZJJwZS4l13OVlbBs8ESL8yMxa6jDa4_tiLUvUTdY,418
|
|
158
|
+
clearskies/di/inject/utcnow.py,sha256=3OAzR82k0yEfQ65bJ-4Q7gCZH-Y_viucPJQtfcHu_AA,365
|
|
159
|
+
clearskies/di/inject/uuid.py,sha256=ncXvVNevj6CCwxh1r1IGojEPZaOuHnRjYT7B69RTVhs,400
|
|
160
|
+
clearskies/di/injectable.py,sha256=TTgqhx494470I61-88BUQmHmevfat-wXVseKl8pQOEk,852
|
|
161
|
+
clearskies/di/injectable_properties.py,sha256=0cONm04h_PIK-nIVg1UY2kUnO_FlgktJ1Z9up3vij_8,6463
|
|
162
|
+
clearskies/di/test_module/__init__.py,sha256=7YHQF7JHP0FdI7GdEGANSZ_t1EISQYhUNm1wqOg0NKw,88
|
|
163
|
+
clearskies/di/test_module/another_module/__init__.py,sha256=8SRmHPDepLKGWTUSc1ucDF6U8mJPsNDsBDmBQCpzPWo,35
|
|
164
|
+
clearskies/di/test_module/module_class.py,sha256=I_-wnMuHfbsvti-7d2Z4bXnr6deo__uvww9nds9qrlE,46
|
|
165
|
+
clearskies/end.py,sha256=Z4C9n7OvBky_640oJ8d19jIr_ap1iqjGJqqO6s_zF5g,8919
|
|
166
|
+
clearskies/endpoint.py,sha256=ewxvcbRRJ-R1u0c39NU4yEVFDr4hvdkwgcdKD7O4m4g,48855
|
|
167
|
+
clearskies/endpoint_group.py,sha256=K1HLIMhU75ezC_SytwA-4j3ViFjjGZOBurRN5Urc6lk,11299
|
|
168
|
+
clearskies/endpoints/__init__.py,sha256=CZJQ3rHF1GA0QvH9CKxUFM1pEnJrg-2wAj5rzIDdzjc,689
|
|
169
|
+
clearskies/endpoints/advanced_search.py,sha256=c1fj81nohHGqe56t00o6kLN3XIh3kfy-aKy_C1pxwgw,21835
|
|
170
|
+
clearskies/endpoints/callable.py,sha256=mg1kWafU8owq_PiGHO3rr9Wl-kSRcBlnsWLb-Wd67xc,13957
|
|
171
|
+
clearskies/endpoints/create.py,sha256=Fgm8ZN2WreGTjWreSyty1c80SP8_qHcjK_be9hpWELw,8757
|
|
172
|
+
clearskies/endpoints/delete.py,sha256=GWnD5-By_5clJzDi8Mac5aeL7HArDpRet3Qo7GPinWk,5296
|
|
173
|
+
clearskies/endpoints/get.py,sha256=w-NWyq9GcQqyBHGS-dTqRdaXRXdvooD-iZ_doDbemNA,10382
|
|
174
|
+
clearskies/endpoints/health_check.py,sha256=Dtj_U2gnrXr7lHXEF0fvldAmA0njsbhivXiKJDe7h7o,5520
|
|
175
|
+
clearskies/endpoints/list.py,sha256=y1I27NlkneYEQ5pc0bKi-99NhoYQlj8kiMJzw91DGCc,25825
|
|
176
|
+
clearskies/endpoints/restful_api.py,sha256=CJZIVEhnTybCwDyQoHmvpvJ7e8p8ays37R1IVX6v79I,16663
|
|
177
|
+
clearskies/endpoints/simple_search.py,sha256=44G4GqNwgNDhcmfpQUFierqvgMxqoRc6y4gqvtHn1xw,9728
|
|
178
|
+
clearskies/endpoints/update.py,sha256=t8kD5zdmcBFSQBbi7C5VnCNs2AUq6xU1cCkvJAKNlFw,7542
|
|
179
|
+
clearskies/environment.py,sha256=LV7XztYYUZhaL8zWXi2EC-u6DLrCPxJTeUzmCy7p-ZA,3703
|
|
180
|
+
clearskies/exceptions/__init__.py,sha256=invmb0wSTpkUuPSEl49bAjU8ing8jt0vEpF2TTnvd_I,595
|
|
181
|
+
clearskies/exceptions/authentication.py,sha256=VlNS0Aq2_6LbG0jiE8jULpS54jNW8a8px0gPrK3EZCc,42
|
|
182
|
+
clearskies/exceptions/authorization.py,sha256=14JuU5zLEf2sv82VNxsJt7dGSwfP-t3Pvf_6QZuacfA,41
|
|
183
|
+
clearskies/exceptions/client_error.py,sha256=o1OGnjlXT5zZ1Vb2LTRPYIio0YAnXPpXDGuqSLQP9_Y,39
|
|
184
|
+
clearskies/exceptions/input_errors.py,sha256=cTEFhWKb6zGZ0NCE8s3eyjB2vZpeUVuBaFPg25ThAn0,137
|
|
185
|
+
clearskies/exceptions/moved_permanently.py,sha256=fcgU_VBtAe8ZnbyNoNpXDcTQ8UtsjdoYg4Z3Ry2gXmc,110
|
|
186
|
+
clearskies/exceptions/moved_temporarily.py,sha256=Pt3muYHASvgOC50wPmoul9hUfy3Ud_NPSGFxshNWbIk,110
|
|
187
|
+
clearskies/exceptions/not_found.py,sha256=_lZwovDrd18dUHDop5pF4mhexBPNr126xF2gOLA2-EA,36
|
|
188
|
+
clearskies/functional/__init__.py,sha256=yXnbX-pjW6MOaBTjIzogvSJZ6O9dbUAWOalhu0WSDiQ,106
|
|
189
|
+
clearskies/functional/routing.py,sha256=tfIvP_Y29GTGr91_1ec3LSQFoTRwpkqU4BYHXPnBaXA,3685
|
|
190
|
+
clearskies/functional/string.py,sha256=ZnkOjx8nxqZq2TV0CIb-Kz4onGoyekTX_WkLJM6XTmM,3311
|
|
191
|
+
clearskies/functional/validations.py,sha256=cPYOTwWomlQrPvqPP_Jdlds7zZ5H9GABCP5pnGzC9T4,2821
|
|
192
|
+
clearskies/input_outputs/__init__.py,sha256=9qeKJULw3MQ3zqkgBZice5d7qqRgsP3y-wkhWO2Y9vM,362
|
|
193
|
+
clearskies/input_outputs/cli.py,sha256=3kSE7p9OitUFyajuALwOtggJCIMIl5p_gxIby6lXE1E,6005
|
|
194
|
+
clearskies/input_outputs/exceptions/__init__.py,sha256=3KiM3KaMYEKoToqCCQ4_no2n0W5ROqeBC0sI2Ix4P6w,82
|
|
195
|
+
clearskies/input_outputs/exceptions/cli_input_error.py,sha256=kOFU8aLTLmeTL_AKDshxMu8_ufildg6p8ndhE1xHfb0,41
|
|
196
|
+
clearskies/input_outputs/exceptions/cli_not_found.py,sha256=JBBuZA9ZwdkPhd3a0qaGgEPQrxh1fehy4R3ZaV2gWXU,39
|
|
197
|
+
clearskies/input_outputs/headers.py,sha256=WjDwV3RppIpPtt5QdgdjYJfIO9ufCEpwJLEn4vLypZI,1616
|
|
198
|
+
clearskies/input_outputs/input_output.py,sha256=W5h8a9XFEqwi3h6v17okblz8sOozUj-mMt4JQyTQUJM,5963
|
|
199
|
+
clearskies/input_outputs/programmatic.py,sha256=gfsNFIfiF5cvxi1aS9SgArcKYUgkL5gyxjCMQLwgivY,1711
|
|
200
|
+
clearskies/input_outputs/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
201
|
+
clearskies/input_outputs/wsgi.py,sha256=94tgWxiwpwvJA9G4nG-hCHteg0pq9pIDCVhnheZuAQc,2544
|
|
202
|
+
clearskies/model.py,sha256=Pt1DDU5K9okrygJ7_dsRlYf4bRosrtiAVOffk536-Rg,47259
|
|
203
|
+
clearskies/parameters_to_properties.py,sha256=kbU9Ln2mU3XX4p-QNepGgS4HiQ1BUuJnhx9T6kgB9jw,1004
|
|
204
|
+
clearskies/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
205
|
+
clearskies/query/__init__.py,sha256=ISF80_cG3rd574sRTdKKPxAdlSjtQh_ClXKKs_MSSSo,277
|
|
206
|
+
clearskies/query/condition.py,sha256=9RJrYya1Kfzx0L_BMDKQhYkN9dB7NAq5kRK5mz51YdY,8624
|
|
207
|
+
clearskies/query/join.py,sha256=4lrDUQzck7klKY_VYkc4SVK95SVwyy3SVTvasnsAEyc,4713
|
|
208
|
+
clearskies/query/query.py,sha256=t9tV67CeI6I1u5Uhu6KPT_qiFjvLc3GnwVM2acbXuAU,6088
|
|
209
|
+
clearskies/query/sort.py,sha256=c-EtIkjg3kLjwSTdXD7sfyx-mNUhAepUV-2izprh3iY,754
|
|
210
|
+
clearskies/schema.py,sha256=9S0RuFBiydsDy4kATy2BBsXJ9aWHILW0ja_q9F4kxb0,2872
|
|
211
|
+
clearskies/secrets/__init__.py,sha256=WauemayzKCr-guvMu6wCL4hQUIbkDJFuNKEm8Rd6cUs,136
|
|
212
|
+
clearskies/secrets/additional_configs/__init__.py,sha256=cFCrbtKF5nuR061S2y1iKZp349x-y8Srdwe3VZbfSFU,1119
|
|
213
|
+
clearskies/secrets/additional_configs/mysql_connection_dynamic_producer.py,sha256=CnIiXLVQdUnUey3dbCTXuNNP7Mmw1gjjNjZiBtfgGto,2757
|
|
214
|
+
clearskies/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssh_cert_bastion.py,sha256=N8ruxrTNhvYlp3cYXq6V78KPPr4n40LM7QoXHvD8IZg,6235
|
|
215
|
+
clearskies/secrets/akeyless.py,sha256=IUI4RYD-XdNQvyhpuElnw_O74ZY4tJUUtCHmd0dArUI,7158
|
|
216
|
+
clearskies/secrets/exceptions/__init__.py,sha256=j-SLHD-DL0CT4cZXibD9kXHk63JEl_UKX6xL_nq1EfE,32
|
|
217
|
+
clearskies/secrets/exceptions/not_found.py,sha256=_lZwovDrd18dUHDop5pF4mhexBPNr126xF2gOLA2-EA,36
|
|
218
|
+
clearskies/secrets/secrets.py,sha256=TYN0T7XjmvETtSacDKEkyGGO9kDFCoPl5A7FNkvyNj4,1593
|
|
219
|
+
clearskies/security_header.py,sha256=suV3PMGFFJzMIsfDiT4t1sArkLVGzepyoftY0ddBWkM,431
|
|
220
|
+
clearskies/security_headers/__init__.py,sha256=JUpc4Y8dNBinDQAkP7OOABR7N787-lRR23boSWmY6Us,285
|
|
221
|
+
clearskies/security_headers/cache_control.py,sha256=1gxASHq74Azpm_19kDFEyT55KuO7gYeyauuvTAZVeaA,2279
|
|
222
|
+
clearskies/security_headers/cors.py,sha256=8cErvdprnT3IlBaoENbNz43UwFpaUWI_NXtJJaYEH3c,1859
|
|
223
|
+
clearskies/security_headers/csp.py,sha256=LQOebTB3pCodiTrJGi6rzac62T1jRAM4XSxuFo2rlqo,2993
|
|
224
|
+
clearskies/security_headers/hsts.py,sha256=sDMgdFxZkwcNvJS2CxXBKGrAWrhs3JqvuOV0Z8Hy2XA,760
|
|
225
|
+
clearskies/security_headers/x_content_type_options.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
226
|
+
clearskies/security_headers/x_frame_options.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
227
|
+
clearskies/test_base.py,sha256=Nw6qwsPMOx-QT_6wXn6f9P4BcA7OeGrs83IC2naNMYY,205
|
|
228
|
+
clearskies/typing.py,sha256=Kme9es5c_lw4qQCbCL7lKXtDemVl0_qBy7jxKIu4yyg,378
|
|
229
|
+
clearskies/validator.py,sha256=nGFwe74LMJnEO7r2mgwd_V25bLpxUDH7IMolm-zk-3w,1332
|
|
230
|
+
clearskies/validators/__init__.py,sha256=Hz0L5Y7EkeK4Px6WcdQ3ku6VqUGpLHX0ZWwCpT1ts1U,1248
|
|
231
|
+
clearskies/validators/after_column.py,sha256=WPbto20CEYaKjjQtO-0t1s5DvTKW7ipDMNYaqNlr1zY,2394
|
|
232
|
+
clearskies/validators/before_column.py,sha256=fDXhgPwGvnjk1Xy6iwebE8q--BeD48uu3cVGpRGTSBc,528
|
|
233
|
+
clearskies/validators/in_the_future.py,sha256=RLpQvIpng-0eDbOmI5xVLlnXnxS4YwRalYJTDFf_Y74,1012
|
|
234
|
+
clearskies/validators/in_the_future_at_least.py,sha256=C8g6xizvjgB9ZYI8lsccqmxiWR-AmZDuV2hW9gJ3w3A,407
|
|
235
|
+
clearskies/validators/in_the_future_at_most.py,sha256=55Zlw4hEmjm7VbUAesvFpP2Ha1gcEZJuPMZE_15bY0Y,361
|
|
236
|
+
clearskies/validators/in_the_past.py,sha256=nj8ytA8zZYCR4paPWvz-DH-NimFAEXkDtT23HIRrXDc,1008
|
|
237
|
+
clearskies/validators/in_the_past_at_least.py,sha256=58oZEWCL9GC-8kC-VyxN_455DQC2IdF2bWLsOxqLVqU,359
|
|
238
|
+
clearskies/validators/in_the_past_at_most.py,sha256=e78fz7XIBmvbw5EAj-4xjRqiQ-Ul1xKKwMXL-erpxto,357
|
|
239
|
+
clearskies/validators/maximum_length.py,sha256=lTatC9xFQ2JAiBOJtWCrqNEPh7O5k-_L5--FAc-z05U,877
|
|
240
|
+
clearskies/validators/maximum_value.py,sha256=dy3h2LdnPlAhQoVDCtlrf9Yd8yIrmax08u_qSmBddmI,889
|
|
241
|
+
clearskies/validators/minimum_length.py,sha256=gOMbtkoWxvWT4WEPtdP_5xCTn5GsshaaTC1vADpBoao,878
|
|
242
|
+
clearskies/validators/minimum_value.py,sha256=Vz0e_9U5KYqBGqfrVBOtPiVtmNPWwFEGPAuMH1q7Ky0,890
|
|
243
|
+
clearskies/validators/required.py,sha256=gNKEZsYP04PQZc0bE_EpgFw4dWrcKnml2D2QthuD7lY,1410
|
|
244
|
+
clearskies/validators/timedelta.py,sha256=TLtFs4KhOmJpDdrf9mmsSiLtt8yz-i0ym30Cw4EcykY,1960
|
|
245
|
+
clearskies/validators/unique.py,sha256=m59azxUecp7t3WFCehcmQ6E1ZpyXdcLQ1KOSm_p5Hn4,1077
|
|
246
|
+
clear_skies-2.0.1.dist-info/LICENSE,sha256=3Ehd0g3YOpCj8sqj0Xjq5qbOtjjgk9qzhhD9YjRQgOA,1053
|
|
247
|
+
clear_skies-2.0.1.dist-info/METADATA,sha256=vihY3StAUiiXlBvo2d81PEbB0po4THFpN_FFz6sewPw,1762
|
|
248
|
+
clear_skies-2.0.1.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
249
|
+
clear_skies-2.0.1.dist-info/RECORD,,
|
clearskies/__init__.py
CHANGED
|
@@ -1,45 +1,62 @@
|
|
|
1
|
-
from .columns import Columns
|
|
2
1
|
from . import (
|
|
3
2
|
authentication,
|
|
4
3
|
autodoc,
|
|
5
4
|
backends,
|
|
6
|
-
|
|
5
|
+
columns,
|
|
6
|
+
configs,
|
|
7
7
|
contexts,
|
|
8
|
-
decorators,
|
|
9
8
|
di,
|
|
9
|
+
endpoints,
|
|
10
|
+
exceptions,
|
|
10
11
|
functional,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
mocks,
|
|
14
|
-
secrets,
|
|
12
|
+
query,
|
|
13
|
+
# secrets,
|
|
15
14
|
security_headers,
|
|
15
|
+
typing,
|
|
16
|
+
validators,
|
|
16
17
|
)
|
|
17
|
-
from .
|
|
18
|
+
from . import parameters_to_properties as parameters_to_properties_module
|
|
19
|
+
from .column import Column
|
|
20
|
+
from .configurable import Configurable
|
|
21
|
+
from .end import End # type: ignore
|
|
22
|
+
from .endpoint import Endpoint
|
|
23
|
+
from .endpoint_group import EndpointGroup
|
|
24
|
+
from .schema import Schema
|
|
25
|
+
|
|
26
|
+
parameters_to_properties = parameters_to_properties_module.parameters_to_properties
|
|
27
|
+
|
|
28
|
+
from .action import Action
|
|
18
29
|
from .environment import Environment
|
|
19
|
-
from .models import Models
|
|
20
30
|
from .model import Model
|
|
21
|
-
from .
|
|
22
|
-
from .
|
|
31
|
+
from .security_header import SecurityHeader
|
|
32
|
+
from .validator import Validator
|
|
23
33
|
|
|
24
34
|
__all__ = [
|
|
25
|
-
"
|
|
26
|
-
"
|
|
35
|
+
"Action",
|
|
36
|
+
"Authentication",
|
|
27
37
|
"autodoc",
|
|
28
38
|
"backends",
|
|
29
|
-
"
|
|
39
|
+
"Column",
|
|
40
|
+
"columns",
|
|
41
|
+
"configs",
|
|
42
|
+
"Configurable",
|
|
30
43
|
"contexts",
|
|
31
|
-
"decorators",
|
|
32
44
|
"di",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"secrets",
|
|
38
|
-
"security_headers",
|
|
39
|
-
"ConditionParser",
|
|
45
|
+
"End",
|
|
46
|
+
"Endpoint",
|
|
47
|
+
"EndpointGroup",
|
|
48
|
+
"endpoints",
|
|
40
49
|
"Environment",
|
|
41
|
-
"
|
|
50
|
+
"exceptions",
|
|
51
|
+
"functional",
|
|
42
52
|
"Model",
|
|
43
|
-
"
|
|
44
|
-
"
|
|
53
|
+
"parameters_to_properties",
|
|
54
|
+
"Schema",
|
|
55
|
+
"typing",
|
|
56
|
+
"Validator",
|
|
57
|
+
"query",
|
|
58
|
+
# "secrets",
|
|
59
|
+
"SecurityHeader",
|
|
60
|
+
"security_headers",
|
|
61
|
+
"validators",
|
|
45
62
|
]
|
clearskies/action.py
ADDED
|
@@ -1,48 +1,15 @@
|
|
|
1
|
-
from
|
|
2
|
-
from .
|
|
3
|
-
from .
|
|
4
|
-
from .
|
|
5
|
-
from .
|
|
6
|
-
from .
|
|
7
|
-
from .public import Public, PublicAuth
|
|
8
|
-
from .secret_bearer import SecretBearer, SecretBearerAuth
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
def public():
|
|
12
|
-
return BindingConfig(Public)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
def secret_bearer(**kwargs):
|
|
16
|
-
return BindingConfig(SecretBearerAuth, **kwargs)
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
def auth0_jwks(**kwargs):
|
|
20
|
-
return BindingConfig(Auth0JWKS, **kwargs)
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
def jwks(jwks_url, **kwargs):
|
|
24
|
-
return BindingConfig(JWKS, jwks_url=jwks_url, **kwargs)
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
def jwks_jwcrypto(jwks_url, **kwargs):
|
|
28
|
-
return BindingConfig(JWKSJwCrypto, jwks_url=jwks_url, **kwargs)
|
|
29
|
-
|
|
1
|
+
from clearskies.authentication.authentication import Authentication
|
|
2
|
+
from clearskies.authentication.authorization import Authorization
|
|
3
|
+
from clearskies.authentication.authorization_pass_through import AuthorizationPassThrough
|
|
4
|
+
from clearskies.authentication.jwks import Jwks
|
|
5
|
+
from clearskies.authentication.public import Public
|
|
6
|
+
from clearskies.authentication.secret_bearer import SecretBearer
|
|
30
7
|
|
|
31
8
|
__all__ = [
|
|
9
|
+
"Authentication",
|
|
32
10
|
"Authorization",
|
|
33
11
|
"AuthorizationPassThrough",
|
|
34
|
-
"
|
|
35
|
-
"public",
|
|
12
|
+
"Jwks",
|
|
36
13
|
"Public",
|
|
37
|
-
"PublicAuth",
|
|
38
|
-
"secret_bearer",
|
|
39
14
|
"SecretBearer",
|
|
40
|
-
"SecretBearerAuth",
|
|
41
|
-
"auth0_jwks",
|
|
42
|
-
"Auth0JWKS",
|
|
43
|
-
"authorization",
|
|
44
|
-
"jwks",
|
|
45
|
-
"JWKS",
|
|
46
|
-
"jwks_jwcrypto",
|
|
47
|
-
"JWKSJwCrypto",
|
|
48
15
|
]
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import TYPE_CHECKING, Any
|
|
4
|
+
|
|
5
|
+
import requests
|
|
6
|
+
|
|
7
|
+
import clearskies.configurable
|
|
8
|
+
from clearskies.authentication.authorization import Authorization
|
|
9
|
+
|
|
10
|
+
if TYPE_CHECKING:
|
|
11
|
+
from clearskies.security_headers.cors import Cors
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class Authentication(clearskies.configurable.Configurable, requests.auth.AuthBase):
|
|
15
|
+
"""
|
|
16
|
+
Authentication!
|
|
17
|
+
"""
|
|
18
|
+
|
|
19
|
+
is_public = True
|
|
20
|
+
can_authorize = False
|
|
21
|
+
has_dynamic_credentials = False
|
|
22
|
+
|
|
23
|
+
def clear_credential_cache(self) -> None:
|
|
24
|
+
pass
|
|
25
|
+
|
|
26
|
+
def headers(self, retry_auth: bool = False) -> dict[str, str]:
|
|
27
|
+
return {}
|
|
28
|
+
|
|
29
|
+
def authenticate(self, input_output) -> bool:
|
|
30
|
+
return True
|
|
31
|
+
|
|
32
|
+
def authorize(self, authorization: Authorization):
|
|
33
|
+
raise ValueError("Public endpoints do not support authorization")
|
|
34
|
+
|
|
35
|
+
def set_headers_for_cors(self, cors: Cors):
|
|
36
|
+
pass
|
|
37
|
+
|
|
38
|
+
def documentation_security_scheme(self) -> dict[str, Any]:
|
|
39
|
+
return {}
|
|
40
|
+
|
|
41
|
+
def documentation_security_scheme_name(self) -> str:
|
|
42
|
+
return ""
|
|
43
|
+
|
|
44
|
+
def __call__(self, request: requests.models.PreparedRequest) -> requests.models.PreparedRequest:
|
|
45
|
+
request.headers = {**request.headers, **self.headers()} # type: ignore
|
|
46
|
+
return request
|
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
from abc import ABC, abstractmethod
|
|
2
|
-
|
|
3
|
-
|
|
4
1
|
class Authorization:
|
|
2
|
+
"""
|
|
3
|
+
Authorization!
|
|
4
|
+
"""
|
|
5
|
+
|
|
5
6
|
def gate(self, authorization_data, input_output):
|
|
6
7
|
"""
|
|
7
8
|
Return True/False to denote if the given user, as represented by the authorization data, should be allowed access.
|
|
8
9
|
|
|
9
|
-
Raise clearskies.
|
|
10
|
+
Raise clearskies.exceptions.ClientError if you want to raise a specific error message.
|
|
10
11
|
"""
|
|
11
12
|
return True
|
|
12
13
|
|
|
13
|
-
def
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
"""
|
|
17
|
-
return models
|
|
14
|
+
def filter_model(self, model, authorization_data, input_output):
|
|
15
|
+
"""Return a models object with additional filters applied to account for authorization needs."""
|
|
16
|
+
return model
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
|
|
1
|
+
import clearskies.di
|
|
2
2
|
|
|
3
|
+
from .jwks import Jwks
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
|
|
6
|
+
class AuthorizationPassThrough(Jwks):
|
|
5
7
|
"""
|
|
8
|
+
Authentication class with pass through.
|
|
9
|
+
|
|
6
10
|
This authentication class takes the authentication header from the incoming request and reflects
|
|
7
11
|
it on outgoing requests.
|
|
8
12
|
"""
|
|
9
13
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
self.di = di
|
|
14
|
+
"""
|
|
15
|
+
The input output helper
|
|
16
|
+
"""
|
|
17
|
+
input_output = clearskies.di.inject.InputOutput()
|
|
15
18
|
|
|
16
19
|
def headers(self, retry_auth=False):
|
|
17
|
-
|
|
18
|
-
return {"Authorization": input_output.get_request_header("authorization", True)}
|
|
20
|
+
return {"Authorization": self.input_output.request_headers.get("authorization", True)}
|