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.

Files changed (276) hide show
  1. {clear_skies-2.0.11 → clear_skies-2.0.12}/CHANGELOG.md +8 -0
  2. clear_skies-2.0.12/LATEST_CHANGELOG.md +6 -0
  3. {clear_skies-2.0.11 → clear_skies-2.0.12}/PKG-INFO +1 -1
  4. {clear_skies-2.0.11 → clear_skies-2.0.12}/pyproject.toml +1 -1
  5. clear_skies-2.0.12/src/clearskies/input_outputs/headers.py +54 -0
  6. {clear_skies-2.0.11 → clear_skies-2.0.12}/uv.lock +1 -1
  7. clear_skies-2.0.11/LATEST_CHANGELOG.md +0 -6
  8. clear_skies-2.0.11/src/clearskies/input_outputs/headers.py +0 -48
  9. {clear_skies-2.0.11 → clear_skies-2.0.12}/.editorconfig +0 -0
  10. {clear_skies-2.0.11 → clear_skies-2.0.12}/.github/workflows/create-version.yaml +0 -0
  11. {clear_skies-2.0.11 → clear_skies-2.0.12}/.github/workflows/docs.yaml +0 -0
  12. {clear_skies-2.0.11 → clear_skies-2.0.12}/.github/workflows/run-tests.yml +0 -0
  13. {clear_skies-2.0.11 → clear_skies-2.0.12}/.github/workflows/tests-matrix.yaml +0 -0
  14. {clear_skies-2.0.11 → clear_skies-2.0.12}/.github/workflows/tests.yaml +0 -0
  15. {clear_skies-2.0.11 → clear_skies-2.0.12}/.gitignore +0 -0
  16. {clear_skies-2.0.11 → clear_skies-2.0.12}/.pre-commit-config.yaml +0 -0
  17. {clear_skies-2.0.11 → clear_skies-2.0.12}/.python-version +0 -0
  18. {clear_skies-2.0.11 → clear_skies-2.0.12}/.vscode/extensions.json +0 -0
  19. {clear_skies-2.0.11 → clear_skies-2.0.12}/.vscode/settings.json +0 -0
  20. {clear_skies-2.0.11 → clear_skies-2.0.12}/LICENSE +0 -0
  21. {clear_skies-2.0.11 → clear_skies-2.0.12}/README.md +0 -0
  22. {clear_skies-2.0.11 → clear_skies-2.0.12}/build.sh +0 -0
  23. {clear_skies-2.0.11 → clear_skies-2.0.12}/cliff.toml +0 -0
  24. {clear_skies-2.0.11 → clear_skies-2.0.12}/ruff.toml +0 -0
  25. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/__init__.py +0 -0
  26. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/action.py +0 -0
  27. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/__init__.py +0 -0
  28. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/authentication.py +0 -0
  29. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/authorization.py +0 -0
  30. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/authorization_pass_through.py +0 -0
  31. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/jwks.py +0 -0
  32. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/public.py +0 -0
  33. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/authentication/secret_bearer.py +0 -0
  34. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/__init__.py +0 -0
  35. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/__init__.py +0 -0
  36. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/__init__.py +0 -0
  37. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/oai3_json.py +0 -0
  38. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/oai3_schema_resolver.py +0 -0
  39. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/parameter.py +0 -0
  40. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/request.py +0 -0
  41. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/response.py +0 -0
  42. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/__init__.py +0 -0
  43. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/array.py +0 -0
  44. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/default.py +0 -0
  45. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/enum.py +0 -0
  46. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/schema/object.py +0 -0
  47. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/formats/oai3_json/test.json +0 -0
  48. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/py.typed +0 -0
  49. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/__init__.py +0 -0
  50. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/header.py +0 -0
  51. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/json_body.py +0 -0
  52. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/parameter.py +0 -0
  53. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/request.py +0 -0
  54. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/url_parameter.py +0 -0
  55. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/request/url_path.py +0 -0
  56. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/response/__init__.py +0 -0
  57. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/response/response.py +0 -0
  58. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/__init__.py +0 -0
  59. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/array.py +0 -0
  60. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/base64.py +0 -0
  61. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/boolean.py +0 -0
  62. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/date.py +0 -0
  63. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/datetime.py +0 -0
  64. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/double.py +0 -0
  65. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/enum.py +0 -0
  66. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/integer.py +0 -0
  67. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/long.py +0 -0
  68. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/number.py +0 -0
  69. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/object.py +0 -0
  70. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/password.py +0 -0
  71. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/schema.py +0 -0
  72. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/autodoc/schema/string.py +0 -0
  73. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/__init__.py +0 -0
  74. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/api_backend.py +0 -0
  75. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/backend.py +0 -0
  76. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/cursor_backend.py +0 -0
  77. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/memory_backend.py +0 -0
  78. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/backends/secrets_backend.py +0 -0
  79. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/column.py +0 -0
  80. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/__init__.py +0 -0
  81. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/audit.py +0 -0
  82. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/belongs_to_id.py +0 -0
  83. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/belongs_to_model.py +0 -0
  84. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/belongs_to_self.py +0 -0
  85. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/boolean.py +0 -0
  86. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/category_tree.py +0 -0
  87. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/category_tree_ancestors.py +0 -0
  88. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/category_tree_children.py +0 -0
  89. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/category_tree_descendants.py +0 -0
  90. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created.py +0 -0
  91. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created_by_authorization_data.py +0 -0
  92. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created_by_header.py +0 -0
  93. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created_by_ip.py +0 -0
  94. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created_by_routing_data.py +0 -0
  95. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/created_by_user_agent.py +0 -0
  96. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/date.py +0 -0
  97. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/datetime.py +0 -0
  98. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/email.py +0 -0
  99. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/float.py +0 -0
  100. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/has_many.py +0 -0
  101. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/has_many_self.py +0 -0
  102. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/has_one.py +0 -0
  103. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/integer.py +0 -0
  104. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/json.py +0 -0
  105. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/many_to_many_ids.py +0 -0
  106. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/many_to_many_ids_with_data.py +0 -0
  107. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/many_to_many_models.py +0 -0
  108. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/many_to_many_pivots.py +0 -0
  109. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/phone.py +0 -0
  110. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/select.py +0 -0
  111. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/string.py +0 -0
  112. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/timestamp.py +0 -0
  113. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/updated.py +0 -0
  114. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/columns/uuid.py +0 -0
  115. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/README.md +0 -0
  116. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/__init__.py +0 -0
  117. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/actions.py +0 -0
  118. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/any.py +0 -0
  119. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/any_dict.py +0 -0
  120. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/any_dict_or_callable.py +0 -0
  121. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/authentication.py +0 -0
  122. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/authorization.py +0 -0
  123. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/boolean.py +0 -0
  124. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/boolean_or_callable.py +0 -0
  125. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/callable_config.py +0 -0
  126. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/columns.py +0 -0
  127. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/conditions.py +0 -0
  128. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/config.py +0 -0
  129. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/datetime.py +0 -0
  130. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/datetime_or_callable.py +0 -0
  131. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/email.py +0 -0
  132. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/email_list.py +0 -0
  133. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/email_list_or_callable.py +0 -0
  134. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/email_or_email_list_or_callable.py +0 -0
  135. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/endpoint.py +0 -0
  136. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/endpoint_list.py +0 -0
  137. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/float.py +0 -0
  138. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/float_or_callable.py +0 -0
  139. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/headers.py +0 -0
  140. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/integer.py +0 -0
  141. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/integer_or_callable.py +0 -0
  142. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/joins.py +0 -0
  143. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/list_any_dict.py +0 -0
  144. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/list_any_dict_or_callable.py +0 -0
  145. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/model_class.py +0 -0
  146. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/model_column.py +0 -0
  147. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/model_columns.py +0 -0
  148. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/model_destination_name.py +0 -0
  149. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/model_to_id_column.py +0 -0
  150. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/readable_model_column.py +0 -0
  151. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/readable_model_columns.py +0 -0
  152. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/schema.py +0 -0
  153. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/searchable_model_columns.py +0 -0
  154. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/security_headers.py +0 -0
  155. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/select.py +0 -0
  156. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/select_list.py +0 -0
  157. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/string.py +0 -0
  158. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/string_dict.py +0 -0
  159. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/string_list.py +0 -0
  160. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/string_list_or_callable.py +0 -0
  161. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/string_or_callable.py +0 -0
  162. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/timedelta.py +0 -0
  163. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/timezone.py +0 -0
  164. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/url.py +0 -0
  165. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/validators.py +0 -0
  166. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/writeable_model_column.py +0 -0
  167. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configs/writeable_model_columns.py +0 -0
  168. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/configurable.py +0 -0
  169. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/contexts/__init__.py +0 -0
  170. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/contexts/cli.py +0 -0
  171. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/contexts/context.py +0 -0
  172. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/contexts/wsgi.py +0 -0
  173. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/contexts/wsgi_ref.py +0 -0
  174. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/decorators.py +0 -0
  175. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/decorators.pyi +0 -0
  176. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/__init__.py +0 -0
  177. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/additional_config.py +0 -0
  178. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/additional_config_auto_import.py +0 -0
  179. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/di.py +0 -0
  180. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/__init__.py +0 -0
  181. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/by_class.py +0 -0
  182. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/by_name.py +0 -0
  183. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/di.py +0 -0
  184. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/environment.py +0 -0
  185. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/input_output.py +0 -0
  186. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/now.py +0 -0
  187. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/requests.py +0 -0
  188. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/secrets.py +0 -0
  189. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/utcnow.py +0 -0
  190. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/inject/uuid.py +0 -0
  191. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/injectable.py +0 -0
  192. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/injectable_properties.py +0 -0
  193. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/test_module/__init__.py +0 -0
  194. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/test_module/another_module/__init__.py +0 -0
  195. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/di/test_module/module_class.py +0 -0
  196. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/end.py +0 -0
  197. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoint.py +0 -0
  198. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoint_group.py +0 -0
  199. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/__init__.py +0 -0
  200. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/advanced_search.py +0 -0
  201. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/callable.py +0 -0
  202. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/create.py +0 -0
  203. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/delete.py +0 -0
  204. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/get.py +0 -0
  205. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/health_check.py +0 -0
  206. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/list.py +0 -0
  207. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/restful_api.py +0 -0
  208. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/schema.py +0 -0
  209. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/simple_search.py +0 -0
  210. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/endpoints/update.py +0 -0
  211. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/environment.py +0 -0
  212. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/__init__.py +0 -0
  213. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/authentication.py +0 -0
  214. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/authorization.py +0 -0
  215. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/client_error.py +0 -0
  216. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/input_errors.py +0 -0
  217. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/missing_dependency.py +0 -0
  218. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/moved_permanently.py +0 -0
  219. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/moved_temporarily.py +0 -0
  220. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/exceptions/not_found.py +0 -0
  221. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/functional/__init__.py +0 -0
  222. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/functional/routing.py +0 -0
  223. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/functional/string.py +0 -0
  224. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/functional/validations.py +0 -0
  225. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/__init__.py +0 -0
  226. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/cli.py +0 -0
  227. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/exceptions/__init__.py +0 -0
  228. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/exceptions/cli_input_error.py +0 -0
  229. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/exceptions/cli_not_found.py +0 -0
  230. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/input_output.py +0 -0
  231. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/programmatic.py +0 -0
  232. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/py.typed +0 -0
  233. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/input_outputs/wsgi.py +0 -0
  234. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/model.py +0 -0
  235. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/py.typed +0 -0
  236. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/query/__init__.py +0 -0
  237. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/query/condition.py +0 -0
  238. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/query/join.py +0 -0
  239. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/query/query.py +0 -0
  240. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/query/sort.py +0 -0
  241. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/schema.py +0 -0
  242. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/__init__.py +0 -0
  243. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/additional_configs/__init__.py +0 -0
  244. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/additional_configs/mysql_connection_dynamic_producer.py +0 -0
  245. {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
  246. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/akeyless.py +0 -0
  247. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/exceptions/__init__.py +0 -0
  248. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/exceptions/not_found.py +0 -0
  249. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/secrets/secrets.py +0 -0
  250. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_header.py +0 -0
  251. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/__init__.py +0 -0
  252. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/cache_control.py +0 -0
  253. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/cors.py +0 -0
  254. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/csp.py +0 -0
  255. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/hsts.py +0 -0
  256. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/x_content_type_options.py +0 -0
  257. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/security_headers/x_frame_options.py +0 -0
  258. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/test_base.py +0 -0
  259. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/typing.py +0 -0
  260. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validator.py +0 -0
  261. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/__init__.py +0 -0
  262. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/after_column.py +0 -0
  263. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/before_column.py +0 -0
  264. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_future.py +0 -0
  265. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_future_at_least.py +0 -0
  266. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_future_at_most.py +0 -0
  267. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_past.py +0 -0
  268. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_past_at_least.py +0 -0
  269. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/in_the_past_at_most.py +0 -0
  270. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/maximum_length.py +0 -0
  271. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/maximum_value.py +0 -0
  272. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/minimum_length.py +0 -0
  273. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/minimum_value.py +0 -0
  274. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/required.py +0 -0
  275. {clear_skies-2.0.11 → clear_skies-2.0.12}/src/clearskies/validators/timedelta.py +0 -0
  276. {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,6 @@
1
+ ## [2.0.12] - 2025-10-09
2
+
3
+ ### Changed
4
+ - Use dict for Header class by @cmancone in [#23](https://github.com/clearskies-py/clearskies/pull/23)
5
+ - Make headers a dict
6
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clear-skies
3
- Version: 2.0.11
3
+ Version: 2.0.12
4
4
  Summary: A framework for building backends in the cloud
5
5
  Project-URL: Documentation, https://clearskies.io/
6
6
  Project-URL: Repository, https://github.com/clearskies-py/clearskies
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "clear-skies"
3
3
  description = "A framework for building backends in the cloud"
4
- version = "2.0.11"
4
+ version = "2.0.12"
5
5
  license = "MIT"
6
6
  readme = "./README.md"
7
7
  authors = [{name = "Conor Mancone", email = "cmancone@gmail.com"}]
@@ -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)
@@ -202,7 +202,7 @@ wheels = [
202
202
 
203
203
  [[package]]
204
204
  name = "clear-skies"
205
- version = "2.0.11"
205
+ version = "2.0.12"
206
206
  source = { editable = "." }
207
207
  dependencies = [
208
208
  { name = "dateparser" },
@@ -1,6 +0,0 @@
1
- ## [2.0.11] - 2025-10-09
2
-
3
- ### Changed
4
- - Typos by @cmancone in [#24](https://github.com/clearskies-py/clearskies/pull/24)
5
- - Input Output reorg by @cmancone
6
-
@@ -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