hare-orm 0.9.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.
Files changed (2266) hide show
  1. hare_orm-0.9.0/LICENSE +27 -0
  2. hare_orm-0.9.0/NOTICE.md +96 -0
  3. hare_orm-0.9.0/NOTICE.ru.md +98 -0
  4. hare_orm-0.9.0/PKG-INFO +321 -0
  5. hare_orm-0.9.0/README.md +222 -0
  6. hare_orm-0.9.0/hare/__init__.py +47 -0
  7. hare_orm-0.9.0/hare/__main__.py +8 -0
  8. hare_orm-0.9.0/hare/classes/__init__.py +1 -0
  9. hare_orm-0.9.0/hare/classes/class_path.py +50 -0
  10. hare_orm-0.9.0/hare/classes/class_property.py +18 -0
  11. hare_orm-0.9.0/hare/classes/comparable_values.py +113 -0
  12. hare_orm-0.9.0/hare/classes/constants.py +11 -0
  13. hare_orm-0.9.0/hare/classes/declared_subclass.py +26 -0
  14. hare_orm-0.9.0/hare/classes/lazy_exports.py +56 -0
  15. hare_orm-0.9.0/hare/classes/shown_value_repr.py +21 -0
  16. hare_orm-0.9.0/hare/classes/value_descriptions.py +81 -0
  17. hare_orm-0.9.0/hare/cli/__init__.py +3 -0
  18. hare_orm-0.9.0/hare/cli/__main__.py +7 -0
  19. hare_orm-0.9.0/hare/cli/arg_parser_builder.py +344 -0
  20. hare_orm-0.9.0/hare/cli/commands/__init__.py +0 -0
  21. hare_orm-0.9.0/hare/cli/commands/database_shell_commands.py +56 -0
  22. hare_orm-0.9.0/hare/cli/commands/distributed_recovery_commands.py +86 -0
  23. hare_orm-0.9.0/hare/cli/commands/interactive_rename_questions.py +30 -0
  24. hare_orm-0.9.0/hare/cli/commands/migration_commands.py +579 -0
  25. hare_orm-0.9.0/hare/cli/commands/schema_commands.py +123 -0
  26. hare_orm-0.9.0/hare/cli/commands/stub_commands.py +52 -0
  27. hare_orm-0.9.0/hare/cli/config_locator.py +37 -0
  28. hare_orm-0.9.0/hare/cli/constants.py +24 -0
  29. hare_orm-0.9.0/hare/cli/context/__init__.py +9 -0
  30. hare_orm-0.9.0/hare/cli/context/cli_context.py +17 -0
  31. hare_orm-0.9.0/hare/cli/context/command_context.py +108 -0
  32. hare_orm-0.9.0/hare/cli/exceptions.py +9 -0
  33. hare_orm-0.9.0/hare/cli/hare_cli.py +111 -0
  34. hare_orm-0.9.0/hare/cli/output/__init__.py +1 -0
  35. hare_orm-0.9.0/hare/cli/output/output_formatter.py +145 -0
  36. hare_orm-0.9.0/hare/cli/output/terminal_colors.py +89 -0
  37. hare_orm-0.9.0/hare/cli/plugins/__init__.py +16 -0
  38. hare_orm-0.9.0/hare/cli/plugins/cli_command.py +43 -0
  39. hare_orm-0.9.0/hare/cli/plugins/cli_command_registry.py +144 -0
  40. hare_orm-0.9.0/hare/cli/plugins/loaded_cli_command.py +13 -0
  41. hare_orm-0.9.0/hare/cli/shell_launcher.py +95 -0
  42. hare_orm-0.9.0/hare/contrib/__init__.py +0 -0
  43. hare_orm-0.9.0/hare/contrib/application_lifecycle.py +157 -0
  44. hare_orm-0.9.0/hare/contrib/factories/__init__.py +39 -0
  45. hare_orm-0.9.0/hare/contrib/factories/constants.py +21 -0
  46. hare_orm-0.9.0/hare/contrib/factories/factory_reference.py +27 -0
  47. hare_orm-0.9.0/hare/contrib/factories/field_declarations/__init__.py +1 -0
  48. hare_orm-0.9.0/hare/contrib/factories/field_declarations/declaration.py +19 -0
  49. hare_orm-0.9.0/hare/contrib/factories/field_declarations/faker.py +49 -0
  50. hare_orm-0.9.0/hare/contrib/factories/field_declarations/iterator.py +36 -0
  51. hare_orm-0.9.0/hare/contrib/factories/field_declarations/lazy_attribute.py +35 -0
  52. hare_orm-0.9.0/hare/contrib/factories/field_declarations/lazy_function.py +22 -0
  53. hare_orm-0.9.0/hare/contrib/factories/field_declarations/many_to_many.py +40 -0
  54. hare_orm-0.9.0/hare/contrib/factories/field_declarations/post_declaration.py +22 -0
  55. hare_orm-0.9.0/hare/contrib/factories/field_declarations/related_factory.py +37 -0
  56. hare_orm-0.9.0/hare/contrib/factories/field_declarations/sequence.py +22 -0
  57. hare_orm-0.9.0/hare/contrib/factories/field_declarations/sub_factory.py +30 -0
  58. hare_orm-0.9.0/hare/contrib/factories/model_factory.py +284 -0
  59. hare_orm-0.9.0/hare/contrib/factories/trait.py +23 -0
  60. hare_orm-0.9.0/hare/contrib/frameworks/__init__.py +14 -0
  61. hare_orm-0.9.0/hare/contrib/frameworks/constants.py +45 -0
  62. hare_orm-0.9.0/hare/contrib/frameworks/error_answers.py +93 -0
  63. hare_orm-0.9.0/hare/contrib/frameworks/exceptions.py +19 -0
  64. hare_orm-0.9.0/hare/contrib/frameworks/fastapi/__init__.py +12 -0
  65. hare_orm-0.9.0/hare/contrib/frameworks/fastapi/constants.py +4 -0
  66. hare_orm-0.9.0/hare/contrib/frameworks/fastapi/hare_exception_handlers.py +103 -0
  67. hare_orm-0.9.0/hare/contrib/frameworks/fastapi/hare_fast_api.py +139 -0
  68. hare_orm-0.9.0/hare/contrib/frameworks/fastapi/middleware/__init__.py +7 -0
  69. hare_orm-0.9.0/hare/contrib/frameworks/fastapi/middleware/request_state_reset_middleware.py +27 -0
  70. hare_orm-0.9.0/hare/contrib/frameworks/fastapi/middleware/transaction_failing_handler.py +31 -0
  71. hare_orm-0.9.0/hare/contrib/frameworks/fastapi/middleware/transaction_middleware.py +72 -0
  72. hare_orm-0.9.0/hare/contrib/frameworks/fastapi/request_query_dependency.py +88 -0
  73. hare_orm-0.9.0/hare/contrib/frameworks/hare_lifecycle.py +50 -0
  74. hare_orm-0.9.0/hare/contrib/frameworks/health_routes.py +101 -0
  75. hare_orm-0.9.0/hare/contrib/frameworks/litestar/__init__.py +14 -0
  76. hare_orm-0.9.0/hare/contrib/frameworks/litestar/constants.py +18 -0
  77. hare_orm-0.9.0/hare/contrib/frameworks/litestar/hare_dto.py +194 -0
  78. hare_orm-0.9.0/hare/contrib/frameworks/litestar/hare_exception_handlers.py +77 -0
  79. hare_orm-0.9.0/hare/contrib/frameworks/litestar/hare_plugin.py +181 -0
  80. hare_orm-0.9.0/hare/contrib/frameworks/litestar/hare_transfer_function_factory.py +38 -0
  81. hare_orm-0.9.0/hare/contrib/frameworks/litestar/middleware/__init__.py +7 -0
  82. hare_orm-0.9.0/hare/contrib/frameworks/litestar/middleware/request_state_reset_middleware.py +23 -0
  83. hare_orm-0.9.0/hare/contrib/frameworks/litestar/middleware/transaction_middleware.py +35 -0
  84. hare_orm-0.9.0/hare/contrib/frameworks/litestar/request_query_di_plugin.py +96 -0
  85. hare_orm-0.9.0/hare/contrib/frameworks/pages/__init__.py +22 -0
  86. hare_orm-0.9.0/hare/contrib/frameworks/pages/cursor_page_schema.py +25 -0
  87. hare_orm-0.9.0/hare/contrib/frameworks/pages/page_schema.py +25 -0
  88. hare_orm-0.9.0/hare/contrib/frameworks/pages/scroll_page_schema.py +23 -0
  89. hare_orm-0.9.0/hare/contrib/frameworks/parameter_annotation.py +110 -0
  90. hare_orm-0.9.0/hare/contrib/frameworks/request_state.py +16 -0
  91. hare_orm-0.9.0/hare/contrib/frameworks/request_transaction.py +186 -0
  92. hare_orm-0.9.0/hare/contrib/frameworks/robyn/__init__.py +13 -0
  93. hare_orm-0.9.0/hare/contrib/frameworks/robyn/application/__init__.py +11 -0
  94. hare_orm-0.9.0/hare/contrib/frameworks/robyn/application/hare_robyn.py +199 -0
  95. hare_orm-0.9.0/hare/contrib/frameworks/robyn/application/hare_sub_router.py +50 -0
  96. hare_orm-0.9.0/hare/contrib/frameworks/robyn/constants.py +32 -0
  97. hare_orm-0.9.0/hare/contrib/frameworks/robyn/hare_exception_handlers.py +128 -0
  98. hare_orm-0.9.0/hare/contrib/frameworks/robyn/hare_open_api.py +91 -0
  99. hare_orm-0.9.0/hare/contrib/frameworks/robyn/route_handler.py +198 -0
  100. hare_orm-0.9.0/hare/contrib/mypy/__init__.py +11 -0
  101. hare_orm-0.9.0/hare/contrib/mypy/annotation_types.py +170 -0
  102. hare_orm-0.9.0/hare/contrib/mypy/constants.py +83 -0
  103. hare_orm-0.9.0/hare/contrib/mypy/enums.py +18 -0
  104. hare_orm-0.9.0/hare/contrib/mypy/field_names_check.py +222 -0
  105. hare_orm-0.9.0/hare/contrib/mypy/filter_arguments_check.py +129 -0
  106. hare_orm-0.9.0/hare/contrib/mypy/hare_mypy_plugin.py +166 -0
  107. hare_orm-0.9.0/hare/contrib/mypy/instance_attribute_types.py +137 -0
  108. hare_orm-0.9.0/hare/contrib/mypy/model_registry.py +127 -0
  109. hare_orm-0.9.0/hare/contrib/mypy/mypy_types.py +383 -0
  110. hare_orm-0.9.0/hare/contrib/mypy/queryset_extension_methods.py +109 -0
  111. hare_orm-0.9.0/hare/contrib/mypy/values_row_types.py +146 -0
  112. hare_orm-0.9.0/hare/contrib/mypy/write_arguments_check.py +159 -0
  113. hare_orm-0.9.0/hare/contrib/notify/__init__.py +5 -0
  114. hare_orm-0.9.0/hare/contrib/notify/constants.py +14 -0
  115. hare_orm-0.9.0/hare/contrib/notify/notification_listener.py +317 -0
  116. hare_orm-0.9.0/hare/contrib/opentelemetry/__init__.py +16 -0
  117. hare_orm-0.9.0/hare/contrib/opentelemetry/constants.py +31 -0
  118. hare_orm-0.9.0/hare/contrib/opentelemetry/open_telemetry_instrumentor.py +60 -0
  119. hare_orm-0.9.0/hare/contrib/opentelemetry/pool_metric_instruments.py +210 -0
  120. hare_orm-0.9.0/hare/contrib/opentelemetry/query_spans.py +69 -0
  121. hare_orm-0.9.0/hare/contrib/outbox/__init__.py +65 -0
  122. hare_orm-0.9.0/hare/contrib/outbox/broker_arguments.py +40 -0
  123. hare_orm-0.9.0/hare/contrib/outbox/brokers/__init__.py +1 -0
  124. hare_orm-0.9.0/hare/contrib/outbox/brokers/rabbitmq_connection.py +55 -0
  125. hare_orm-0.9.0/hare/contrib/outbox/brokers/redis_connection.py +42 -0
  126. hare_orm-0.9.0/hare/contrib/outbox/capture/__init__.py +6 -0
  127. hare_orm-0.9.0/hare/contrib/outbox/capture/change_capture.py +366 -0
  128. hare_orm-0.9.0/hare/contrib/outbox/capture/change_extension.py +22 -0
  129. hare_orm-0.9.0/hare/contrib/outbox/capture/constants.py +19 -0
  130. hare_orm-0.9.0/hare/contrib/outbox/constants.py +31 -0
  131. hare_orm-0.9.0/hare/contrib/outbox/deliveries/__init__.py +22 -0
  132. hare_orm-0.9.0/hare/contrib/outbox/deliveries/callable_delivery.py +44 -0
  133. hare_orm-0.9.0/hare/contrib/outbox/deliveries/constants.py +19 -0
  134. hare_orm-0.9.0/hare/contrib/outbox/deliveries/kafka_delivery.py +124 -0
  135. hare_orm-0.9.0/hare/contrib/outbox/deliveries/outbox_delivery.py +106 -0
  136. hare_orm-0.9.0/hare/contrib/outbox/deliveries/rabbitmq_delivery.py +63 -0
  137. hare_orm-0.9.0/hare/contrib/outbox/deliveries/redis_streams_delivery.py +110 -0
  138. hare_orm-0.9.0/hare/contrib/outbox/deliveries/topic_router.py +103 -0
  139. hare_orm-0.9.0/hare/contrib/outbox/deliveries/webhook_delivery.py +106 -0
  140. hare_orm-0.9.0/hare/contrib/outbox/exceptions.py +7 -0
  141. hare_orm-0.9.0/hare/contrib/outbox/outbox_event.py +362 -0
  142. hare_orm-0.9.0/hare/contrib/outbox/outbox_json_encoding.py +87 -0
  143. hare_orm-0.9.0/hare/contrib/outbox/relay/__init__.py +7 -0
  144. hare_orm-0.9.0/hare/contrib/outbox/relay/constants.py +41 -0
  145. hare_orm-0.9.0/hare/contrib/outbox/relay/declarations.py +76 -0
  146. hare_orm-0.9.0/hare/contrib/outbox/relay/outbox_backlog.py +18 -0
  147. hare_orm-0.9.0/hare/contrib/outbox/relay/outbox_relay.py +646 -0
  148. hare_orm-0.9.0/hare/contrib/outbox/wakeups/__init__.py +20 -0
  149. hare_orm-0.9.0/hare/contrib/outbox/wakeups/constants.py +20 -0
  150. hare_orm-0.9.0/hare/contrib/outbox/wakeups/in_process_wakeup.py +17 -0
  151. hare_orm-0.9.0/hare/contrib/outbox/wakeups/kafka_wakeup.py +123 -0
  152. hare_orm-0.9.0/hare/contrib/outbox/wakeups/listen_notify_wakeup.py +75 -0
  153. hare_orm-0.9.0/hare/contrib/outbox/wakeups/outbox_wakeup.py +202 -0
  154. hare_orm-0.9.0/hare/contrib/outbox/wakeups/rabbitmq_wakeup.py +64 -0
  155. hare_orm-0.9.0/hare/contrib/outbox/wakeups/redis_wakeup.py +53 -0
  156. hare_orm-0.9.0/hare/contrib/pydantic/__init__.py +12 -0
  157. hare_orm-0.9.0/hare/contrib/pydantic/constants.py +41 -0
  158. hare_orm-0.9.0/hare/contrib/pydantic/creation/__init__.py +1 -0
  159. hare_orm-0.9.0/hare/contrib/pydantic/creation/computed_field_schemas.py +77 -0
  160. hare_orm-0.9.0/hare/contrib/pydantic/creation/data_field_schemas.py +230 -0
  161. hare_orm-0.9.0/hare/contrib/pydantic/creation/field_descriptions.py +17 -0
  162. hare_orm-0.9.0/hare/contrib/pydantic/creation/field_map.py +138 -0
  163. hare_orm-0.9.0/hare/contrib/pydantic/creation/generic_foreign_key_schemas.py +136 -0
  164. hare_orm-0.9.0/hare/contrib/pydantic/creation/generic_foreign_key_tag_reader.py +35 -0
  165. hare_orm-0.9.0/hare/contrib/pydantic/creation/model_annotations.py +44 -0
  166. hare_orm-0.9.0/hare/contrib/pydantic/creation/pydantic_creators.py +163 -0
  167. hare_orm-0.9.0/hare/contrib/pydantic/creation/pydantic_meta_reading.py +134 -0
  168. hare_orm-0.9.0/hare/contrib/pydantic/creation/pydantic_model_creator.py +434 -0
  169. hare_orm-0.9.0/hare/contrib/pydantic/creation/relation_field_schemas.py +269 -0
  170. hare_orm-0.9.0/hare/contrib/pydantic/descriptions/__init__.py +5 -0
  171. hare_orm-0.9.0/hare/contrib/pydantic/descriptions/computed_field_description.py +12 -0
  172. hare_orm-0.9.0/hare/contrib/pydantic/descriptions/model_description.py +69 -0
  173. hare_orm-0.9.0/hare/contrib/pydantic/descriptions/pydantic_meta_data.py +144 -0
  174. hare_orm-0.9.0/hare/contrib/pydantic/enums.py +12 -0
  175. hare_orm-0.9.0/hare/contrib/pydantic/models/__init__.py +9 -0
  176. hare_orm-0.9.0/hare/contrib/pydantic/models/pydantic_list_model.py +34 -0
  177. hare_orm-0.9.0/hare/contrib/pydantic/models/pydantic_model.py +292 -0
  178. hare_orm-0.9.0/hare/contrib/pytest/__init__.py +17 -0
  179. hare_orm-0.9.0/hare/contrib/pytest/constants.py +26 -0
  180. hare_orm-0.9.0/hare/contrib/pytest/hare_fixtures.py +112 -0
  181. hare_orm-0.9.0/hare/contrib/pytest/missing_pytest_asyncio_fixtures.py +34 -0
  182. hare_orm-0.9.0/hare/contrib/pytest/plugin.py +49 -0
  183. hare_orm-0.9.0/hare/contrib/repeated_queries/__init__.py +19 -0
  184. hare_orm-0.9.0/hare/contrib/repeated_queries/constants.py +10 -0
  185. hare_orm-0.9.0/hare/contrib/repeated_queries/repeated_query_collection.py +116 -0
  186. hare_orm-0.9.0/hare/contrib/repeated_queries/repeated_query_detector.py +227 -0
  187. hare_orm-0.9.0/hare/contrib/repeated_queries/repeated_query_entry.py +20 -0
  188. hare_orm-0.9.0/hare/contrib/repeated_queries/repeated_query_report.py +31 -0
  189. hare_orm-0.9.0/hare/contrib/repeated_queries/shape_stats.py +18 -0
  190. hare_orm-0.9.0/hare/contrib/request_query/__init__.py +71 -0
  191. hare_orm-0.9.0/hare/contrib/request_query/bounds/__init__.py +6 -0
  192. hare_orm-0.9.0/hare/contrib/request_query/bounds/constants.py +4 -0
  193. hare_orm-0.9.0/hare/contrib/request_query/bounds/lookup_pair_bounds.py +40 -0
  194. hare_orm-0.9.0/hare/contrib/request_query/bounds/parameter_bounds.py +41 -0
  195. hare_orm-0.9.0/hare/contrib/request_query/bounds/range_bounds.py +30 -0
  196. hare_orm-0.9.0/hare/contrib/request_query/constants.py +45 -0
  197. hare_orm-0.9.0/hare/contrib/request_query/declaration/__init__.py +6 -0
  198. hare_orm-0.9.0/hare/contrib/request_query/declaration/constants.py +19 -0
  199. hare_orm-0.9.0/hare/contrib/request_query/declaration/declaration_builder.py +515 -0
  200. hare_orm-0.9.0/hare/contrib/request_query/declaration/filter_declaration.py +25 -0
  201. hare_orm-0.9.0/hare/contrib/request_query/declaration/filter_parameter_builder.py +201 -0
  202. hare_orm-0.9.0/hare/contrib/request_query/declaration/parameter_filter.py +17 -0
  203. hare_orm-0.9.0/hare/contrib/request_query/declaration/request_query_declaration.py +138 -0
  204. hare_orm-0.9.0/hare/contrib/request_query/declaration/request_query_parameters.py +54 -0
  205. hare_orm-0.9.0/hare/contrib/request_query/declaration/request_query_registry.py +90 -0
  206. hare_orm-0.9.0/hare/contrib/request_query/descriptions/__init__.py +11 -0
  207. hare_orm-0.9.0/hare/contrib/request_query/descriptions/constants.py +11 -0
  208. hare_orm-0.9.0/hare/contrib/request_query/descriptions/parameter_choice.py +17 -0
  209. hare_orm-0.9.0/hare/contrib/request_query/descriptions/parameter_describer.py +240 -0
  210. hare_orm-0.9.0/hare/contrib/request_query/descriptions/parameter_description.py +66 -0
  211. hare_orm-0.9.0/hare/contrib/request_query/descriptions/relation_description.py +30 -0
  212. hare_orm-0.9.0/hare/contrib/request_query/enums.py +69 -0
  213. hare_orm-0.9.0/hare/contrib/request_query/exceptions.py +52 -0
  214. hare_orm-0.9.0/hare/contrib/request_query/options/__init__.py +33 -0
  215. hare_orm-0.9.0/hare/contrib/request_query/options/constants.py +25 -0
  216. hare_orm-0.9.0/hare/contrib/request_query/options/deleted_config.py +90 -0
  217. hare_orm-0.9.0/hare/contrib/request_query/options/fields_config.py +55 -0
  218. hare_orm-0.9.0/hare/contrib/request_query/options/filter.py +34 -0
  219. hare_orm-0.9.0/hare/contrib/request_query/options/filter_field.py +81 -0
  220. hare_orm-0.9.0/hare/contrib/request_query/options/in_path.py +12 -0
  221. hare_orm-0.9.0/hare/contrib/request_query/options/include_config.py +56 -0
  222. hare_orm-0.9.0/hare/contrib/request_query/options/latest_versions.py +71 -0
  223. hare_orm-0.9.0/hare/contrib/request_query/options/no_filter.py +11 -0
  224. hare_orm-0.9.0/hare/contrib/request_query/options/ordering_config.py +81 -0
  225. hare_orm-0.9.0/hare/contrib/request_query/options/parameter_field.py +27 -0
  226. hare_orm-0.9.0/hare/contrib/request_query/options/request_option.py +152 -0
  227. hare_orm-0.9.0/hare/contrib/request_query/options/search_config.py +83 -0
  228. hare_orm-0.9.0/hare/contrib/request_query/paginations/__init__.py +1 -0
  229. hare_orm-0.9.0/hare/contrib/request_query/paginations/base_offset_pagination.py +78 -0
  230. hare_orm-0.9.0/hare/contrib/request_query/paginations/constants.py +17 -0
  231. hare_orm-0.9.0/hare/contrib/request_query/paginations/cursor.py +83 -0
  232. hare_orm-0.9.0/hare/contrib/request_query/paginations/cursor_pagination.py +184 -0
  233. hare_orm-0.9.0/hare/contrib/request_query/paginations/offset_pagination.py +31 -0
  234. hare_orm-0.9.0/hare/contrib/request_query/paginations/pagination.py +120 -0
  235. hare_orm-0.9.0/hare/contrib/request_query/paginations/scroll_pagination.py +31 -0
  236. hare_orm-0.9.0/hare/contrib/request_query/request_query.py +1259 -0
  237. hare_orm-0.9.0/hare/contrib/request_query/results/__init__.py +11 -0
  238. hare_orm-0.9.0/hare/contrib/request_query/results/cursor_page.py +25 -0
  239. hare_orm-0.9.0/hare/contrib/request_query/results/page.py +25 -0
  240. hare_orm-0.9.0/hare/contrib/request_query/results/scroll_page.py +23 -0
  241. hare_orm-0.9.0/hare/contrib/request_query/row_changes.py +80 -0
  242. hare_orm-0.9.0/hare/contrib/request_query/types/__init__.py +15 -0
  243. hare_orm-0.9.0/hare/contrib/request_query/types/comma_separated.py +46 -0
  244. hare_orm-0.9.0/hare/contrib/request_query/types/constants.py +16 -0
  245. hare_orm-0.9.0/hare/contrib/request_query/types/generic_target.py +87 -0
  246. hare_orm-0.9.0/hare/contrib/request_query/types/key_columns.py +60 -0
  247. hare_orm-0.9.0/hare/contrib/request_query/types/text_parameter.py +18 -0
  248. hare_orm-0.9.0/hare/contrib/request_query/value_annotation.py +216 -0
  249. hare_orm-0.9.0/hare/contrib/request_query/value_counter.py +115 -0
  250. hare_orm-0.9.0/hare/contrib/request_query/value_target.py +50 -0
  251. hare_orm-0.9.0/hare/contrib/taskiq/__init__.py +15 -0
  252. hare_orm-0.9.0/hare/contrib/taskiq/constants.py +23 -0
  253. hare_orm-0.9.0/hare/contrib/taskiq/hare_taskiq.py +76 -0
  254. hare_orm-0.9.0/hare/contrib/taskiq/hare_taskiq_middleware.py +195 -0
  255. hare_orm-0.9.0/hare/contrib/taskiq/running_task.py +29 -0
  256. hare_orm-0.9.0/hare/contrib/taskiq/task_tenant_labels.py +102 -0
  257. hare_orm-0.9.0/hare/contrib/taskiq/taskiq_delivery.py +117 -0
  258. hare_orm-0.9.0/hare/contrib/test/__init__.py +39 -0
  259. hare_orm-0.9.0/hare/contrib/test/conditions/__init__.py +10 -0
  260. hare_orm-0.9.0/hare/contrib/test/conditions/condition.py +11 -0
  261. hare_orm-0.9.0/hare/contrib/test/conditions/in_condition.py +21 -0
  262. hare_orm-0.9.0/hare/contrib/test/conditions/not_eq.py +18 -0
  263. hare_orm-0.9.0/hare/contrib/test/conditions/not_in.py +21 -0
  264. hare_orm-0.9.0/hare/contrib/test/constants.py +18 -0
  265. hare_orm-0.9.0/hare/contrib/test/databases/__init__.py +1 -0
  266. hare_orm-0.9.0/hare/contrib/test/databases/kept_test_schema.py +51 -0
  267. hare_orm-0.9.0/hare/contrib/test/databases/model_truncation.py +128 -0
  268. hare_orm-0.9.0/hare/contrib/test/databases/reusable_test_databases.py +244 -0
  269. hare_orm-0.9.0/hare/contrib/test/databases/rollback_isolation.py +149 -0
  270. hare_orm-0.9.0/hare/contrib/test/databases/temporary_databases.py +118 -0
  271. hare_orm-0.9.0/hare/contrib/test/exceptions.py +5 -0
  272. hare_orm-0.9.0/hare/contrib/test/features/__init__.py +1 -0
  273. hare_orm-0.9.0/hare/contrib/test/features/feature_conditions.py +65 -0
  274. hare_orm-0.9.0/hare/contrib/test/features/feature_requirements.py +84 -0
  275. hare_orm-0.9.0/hare/contrib/test/isolated_contexts.py +144 -0
  276. hare_orm-0.9.0/hare/contrib/test/queries/__init__.py +1 -0
  277. hare_orm-0.9.0/hare/contrib/test/queries/query_counter.py +35 -0
  278. hare_orm-0.9.0/hare/contrib/test/queries/query_counting.py +59 -0
  279. hare_orm-0.9.0/hare/contrib/versioning/__init__.py +7 -0
  280. hare_orm-0.9.0/hare/contrib/versioning/constants.py +5 -0
  281. hare_orm-0.9.0/hare/contrib/versioning/versioned_model.py +139 -0
  282. hare_orm-0.9.0/hare/core/__init__.py +4 -0
  283. hare_orm-0.9.0/hare/core/apps/__init__.py +8 -0
  284. hare_orm-0.9.0/hare/core/apps/apps.py +693 -0
  285. hare_orm-0.9.0/hare/core/apps/cross_connection_checks.py +76 -0
  286. hare_orm-0.9.0/hare/core/apps/model_connection_checks.py +199 -0
  287. hare_orm-0.9.0/hare/core/apps/model_discovery.py +142 -0
  288. hare_orm-0.9.0/hare/core/apps/relation_linking.py +773 -0
  289. hare_orm-0.9.0/hare/core/apps/swappable_models.py +118 -0
  290. hare_orm-0.9.0/hare/core/apps/table_names.py +39 -0
  291. hare_orm-0.9.0/hare/core/caching/__init__.py +1 -0
  292. hare_orm-0.9.0/hare/core/caching/cache.py +426 -0
  293. hare_orm-0.9.0/hare/core/caching/caches.py +58 -0
  294. hare_orm-0.9.0/hare/core/caching/constants.py +13 -0
  295. hare_orm-0.9.0/hare/core/caching/declarations.py +8 -0
  296. hare_orm-0.9.0/hare/core/caching/forgettable_cache.py +16 -0
  297. hare_orm-0.9.0/hare/core/caching/model_cache.py +138 -0
  298. hare_orm-0.9.0/hare/core/config/__init__.py +25 -0
  299. hare_orm-0.9.0/hare/core/config/app_config.py +64 -0
  300. hare_orm-0.9.0/hare/core/config/cli_config.py +38 -0
  301. hare_orm-0.9.0/hare/core/config/config_secrets.py +101 -0
  302. hare_orm-0.9.0/hare/core/config/config_section.py +37 -0
  303. hare_orm-0.9.0/hare/core/config/connection_config.py +69 -0
  304. hare_orm-0.9.0/hare/core/config/constants.py +17 -0
  305. hare_orm-0.9.0/hare/core/config/db_url_config.py +24 -0
  306. hare_orm-0.9.0/hare/core/config/hare_config.py +407 -0
  307. hare_orm-0.9.0/hare/core/config/migration_safety_config.py +54 -0
  308. hare_orm-0.9.0/hare/core/config/migrations_config.py +72 -0
  309. hare_orm-0.9.0/hare/core/connections/__init__.py +1 -0
  310. hare_orm-0.9.0/hare/core/connections/connection_handler.py +457 -0
  311. hare_orm-0.9.0/hare/core/connections/connection_token.py +36 -0
  312. hare_orm-0.9.0/hare/core/connections/connections.py +133 -0
  313. hare_orm-0.9.0/hare/core/constants.py +40 -0
  314. hare_orm-0.9.0/hare/core/hare.py +205 -0
  315. hare_orm-0.9.0/hare/core/hare_context.py +854 -0
  316. hare_orm-0.9.0/hare/core/hare_meta.py +18 -0
  317. hare_orm-0.9.0/hare/core/log.py +6 -0
  318. hare_orm-0.9.0/hare/core/registries.py +22 -0
  319. hare_orm-0.9.0/hare/core/routing/__init__.py +5 -0
  320. hare_orm-0.9.0/hare/core/routing/connection_router.py +109 -0
  321. hare_orm-0.9.0/hare/core/routing/primary_reads.py +42 -0
  322. hare_orm-0.9.0/hare/core/routing/routing.py +28 -0
  323. hare_orm-0.9.0/hare/core/routing/written_connections.py +63 -0
  324. hare_orm-0.9.0/hare/ddl/__init__.py +57 -0
  325. hare_orm-0.9.0/hare/ddl/conditions/__init__.py +1 -0
  326. hare_orm-0.9.0/hare/ddl/conditions/constraint_condition.py +154 -0
  327. hare_orm-0.9.0/hare/ddl/conditions/exclusive_arc_condition.py +80 -0
  328. hare_orm-0.9.0/hare/ddl/conditions/tenant_condition.py +48 -0
  329. hare_orm-0.9.0/hare/ddl/conditions/trigger_condition.py +44 -0
  330. hare_orm-0.9.0/hare/ddl/constants.py +68 -0
  331. hare_orm-0.9.0/hare/ddl/constraints/__init__.py +7 -0
  332. hare_orm-0.9.0/hare/ddl/constraints/check_constraint.py +38 -0
  333. hare_orm-0.9.0/hare/ddl/constraints/exclusion_constraint.py +116 -0
  334. hare_orm-0.9.0/hare/ddl/constraints/foreign_key_constraint.py +39 -0
  335. hare_orm-0.9.0/hare/ddl/constraints/unique_constraint.py +150 -0
  336. hare_orm-0.9.0/hare/ddl/ddl_term_sql.py +45 -0
  337. hare_orm-0.9.0/hare/ddl/declared_names.py +47 -0
  338. hare_orm-0.9.0/hare/ddl/enums.py +117 -0
  339. hare_orm-0.9.0/hare/ddl/expressions/__init__.py +0 -0
  340. hare_orm-0.9.0/hare/ddl/expressions/declared_expressions.py +102 -0
  341. hare_orm-0.9.0/hare/ddl/expressions/expression_field_renaming.py +150 -0
  342. hare_orm-0.9.0/hare/ddl/generated_names.py +87 -0
  343. hare_orm-0.9.0/hare/ddl/indexes/__init__.py +11 -0
  344. hare_orm-0.9.0/hare/ddl/indexes/index.py +531 -0
  345. hare_orm-0.9.0/hare/ddl/indexes/ordered_index_key.py +27 -0
  346. hare_orm-0.9.0/hare/ddl/indexes/partial_index.py +75 -0
  347. hare_orm-0.9.0/hare/ddl/raw_sql_term.py +44 -0
  348. hare_orm-0.9.0/hare/ddl/schema_objects/__init__.py +12 -0
  349. hare_orm-0.9.0/hare/ddl/schema_objects/database_function.py +91 -0
  350. hare_orm-0.9.0/hare/ddl/schema_objects/database_sequence.py +87 -0
  351. hare_orm-0.9.0/hare/ddl/schema_objects/dictionary.py +69 -0
  352. hare_orm-0.9.0/hare/ddl/schema_objects/enum_type.py +24 -0
  353. hare_orm-0.9.0/hare/ddl/schema_objects/materialized_view.py +52 -0
  354. hare_orm-0.9.0/hare/ddl/schema_objects/named_schema_object.py +24 -0
  355. hare_orm-0.9.0/hare/ddl/schema_objects/trigger.py +151 -0
  356. hare_orm-0.9.0/hare/ddl/schema_objects/view.py +132 -0
  357. hare_orm-0.9.0/hare/ddl/security/__init__.py +8 -0
  358. hare_orm-0.9.0/hare/ddl/security/grant.py +106 -0
  359. hare_orm-0.9.0/hare/ddl/security/policy.py +92 -0
  360. hare_orm-0.9.0/hare/ddl/table_options.py +364 -0
  361. hare_orm-0.9.0/hare/dialects/__init__.py +0 -0
  362. hare_orm-0.9.0/hare/dialects/base/__init__.py +0 -0
  363. hare_orm-0.9.0/hare/dialects/base/clauses/__init__.py +1 -0
  364. hare_orm-0.9.0/hare/dialects/base/clauses/enums.py +37 -0
  365. hare_orm-0.9.0/hare/dialects/base/clauses/limit_returning_conflict_query_clauses.py +194 -0
  366. hare_orm-0.9.0/hare/dialects/base/clauses/merge_when_sql.py +24 -0
  367. hare_orm-0.9.0/hare/dialects/base/clauses/query_clauses.py +636 -0
  368. hare_orm-0.9.0/hare/dialects/base/client/__init__.py +16 -0
  369. hare_orm-0.9.0/hare/dialects/base/client/connect_failure_reports.py +49 -0
  370. hare_orm-0.9.0/hare/dialects/base/client/connection_ping.py +48 -0
  371. hare_orm-0.9.0/hare/dialects/base/client/connection_wrapper.py +126 -0
  372. hare_orm-0.9.0/hare/dialects/base/client/constants.py +41 -0
  373. hare_orm-0.9.0/hare/dialects/base/client/database_client.py +1187 -0
  374. hare_orm-0.9.0/hare/dialects/base/client/declarations.py +37 -0
  375. hare_orm-0.9.0/hare/dialects/base/client/driver_statement_log_filter.py +33 -0
  376. hare_orm-0.9.0/hare/dialects/base/client/password_provider.py +144 -0
  377. hare_orm-0.9.0/hare/dialects/base/client/pool/__init__.py +1 -0
  378. hare_orm-0.9.0/hare/dialects/base/client/pool/pool_connection_wrapper.py +37 -0
  379. hare_orm-0.9.0/hare/dialects/base/client/pool/pool_statistics.py +84 -0
  380. hare_orm-0.9.0/hare/dialects/base/client/pool/pool_timeouts.py +48 -0
  381. hare_orm-0.9.0/hare/dialects/base/client/transaction_client.py +621 -0
  382. hare_orm-0.9.0/hare/dialects/base/client/transaction_lifecycle/__init__.py +1 -0
  383. hare_orm-0.9.0/hare/dialects/base/client/transaction_lifecycle/pending_statements.py +74 -0
  384. hare_orm-0.9.0/hare/dialects/base/client/transaction_lifecycle/transaction_callbacks.py +128 -0
  385. hare_orm-0.9.0/hare/dialects/base/client/transaction_lifecycle/transaction_ending.py +360 -0
  386. hare_orm-0.9.0/hare/dialects/base/connection/__init__.py +1 -0
  387. hare_orm-0.9.0/hare/dialects/base/connection/connection_option.py +142 -0
  388. hare_orm-0.9.0/hare/dialects/base/connection/connection_options.py +69 -0
  389. hare_orm-0.9.0/hare/dialects/base/connection/constants.py +27 -0
  390. hare_orm-0.9.0/hare/dialects/base/connection/db_url_config_generator.py +194 -0
  391. hare_orm-0.9.0/hare/dialects/base/connection/driver.py +136 -0
  392. hare_orm-0.9.0/hare/dialects/base/constants.py +72 -0
  393. hare_orm-0.9.0/hare/dialects/base/dialect.py +360 -0
  394. hare_orm-0.9.0/hare/dialects/base/features.py +369 -0
  395. hare_orm-0.9.0/hare/dialects/base/literals/__init__.py +1 -0
  396. hare_orm-0.9.0/hare/dialects/base/literals/constants.py +12 -0
  397. hare_orm-0.9.0/hare/dialects/base/literals/sql_literals.py +254 -0
  398. hare_orm-0.9.0/hare/dialects/base/lookups/__init__.py +1 -0
  399. hare_orm-0.9.0/hare/dialects/base/lookups/filter_operators.py +171 -0
  400. hare_orm-0.9.0/hare/dialects/base/migration_safety/__init__.py +12 -0
  401. hare_orm-0.9.0/hare/dialects/base/migration_safety/add_field_backfill_rule.py +37 -0
  402. hare_orm-0.9.0/hare/dialects/base/migration_safety/alter_field_rewrite_rule.py +39 -0
  403. hare_orm-0.9.0/hare/dialects/base/migration_safety/constants.py +4 -0
  404. hare_orm-0.9.0/hare/dialects/base/migration_safety/delete_model_rule.py +33 -0
  405. hare_orm-0.9.0/hare/dialects/base/migration_safety/migration_safety_rule.py +45 -0
  406. hare_orm-0.9.0/hare/dialects/base/migration_safety/migration_safety_rules.py +72 -0
  407. hare_orm-0.9.0/hare/dialects/base/migration_safety/remove_field_rule.py +31 -0
  408. hare_orm-0.9.0/hare/dialects/base/migration_safety/rename_field_rule.py +41 -0
  409. hare_orm-0.9.0/hare/dialects/base/migration_safety/rename_model_rule.py +42 -0
  410. hare_orm-0.9.0/hare/dialects/base/migration_safety/run_sql_rule.py +27 -0
  411. hare_orm-0.9.0/hare/dialects/base/migration_safety/schema_change_with_run_python_rule.py +49 -0
  412. hare_orm-0.9.0/hare/dialects/base/parameters/__init__.py +1 -0
  413. hare_orm-0.9.0/hare/dialects/base/parameters/large_in_list.py +147 -0
  414. hare_orm-0.9.0/hare/dialects/base/parameters/sql_parameters.py +185 -0
  415. hare_orm-0.9.0/hare/dialects/base/renderers/__init__.py +7 -0
  416. hare_orm-0.9.0/hare/dialects/base/renderers/checked_term_renderers.py +61 -0
  417. hare_orm-0.9.0/hare/dialects/base/renderers/json_renderers.py +60 -0
  418. hare_orm-0.9.0/hare/dialects/base/renderers/term_renderers.py +508 -0
  419. hare_orm-0.9.0/hare/dialects/base/results/__init__.py +9 -0
  420. hare_orm-0.9.0/hare/dialects/base/results/described_result.py +22 -0
  421. hare_orm-0.9.0/hare/dialects/base/results/statement_result.py +53 -0
  422. hare_orm-0.9.0/hare/dialects/base/schema/__init__.py +0 -0
  423. hare_orm-0.9.0/hare/dialects/base/schema/base_schema_editor.py +1139 -0
  424. hare_orm-0.9.0/hare/dialects/base/schema/columns/__init__.py +1 -0
  425. hare_orm-0.9.0/hare/dialects/base/schema/columns/column_backfill.py +347 -0
  426. hare_orm-0.9.0/hare/dialects/base/schema/columns/column_conversion_check.py +51 -0
  427. hare_orm-0.9.0/hare/dialects/base/schema/columns/column_definitions.py +473 -0
  428. hare_orm-0.9.0/hare/dialects/base/schema/columns/column_narrowing_check.py +178 -0
  429. hare_orm-0.9.0/hare/dialects/base/schema/columns/column_renames.py +77 -0
  430. hare_orm-0.9.0/hare/dialects/base/schema/columns/column_type_changes.py +140 -0
  431. hare_orm-0.9.0/hare/dialects/base/schema/constants.py +30 -0
  432. hare_orm-0.9.0/hare/dialects/base/schema/constraints/__init__.py +1 -0
  433. hare_orm-0.9.0/hare/dialects/base/schema/constraints/constraint_names.py +45 -0
  434. hare_orm-0.9.0/hare/dialects/base/schema/constraints/constraint_statements.py +262 -0
  435. hare_orm-0.9.0/hare/dialects/base/schema/data/__init__.py +9 -0
  436. hare_orm-0.9.0/hare/dialects/base/schema/data/model_sql_data.py +41 -0
  437. hare_orm-0.9.0/hare/dialects/base/schema/data/referencing_key_columns.py +24 -0
  438. hare_orm-0.9.0/hare/dialects/base/schema/indexes/__init__.py +1 -0
  439. hare_orm-0.9.0/hare/dialects/base/schema/indexes/generated_index_names.py +180 -0
  440. hare_orm-0.9.0/hare/dialects/base/schema/indexes/index_statements.py +397 -0
  441. hare_orm-0.9.0/hare/dialects/base/schema/relations/__init__.py +1 -0
  442. hare_orm-0.9.0/hare/dialects/base/schema/relations/foreign_key_rebuild.py +480 -0
  443. hare_orm-0.9.0/hare/dialects/base/schema/relations/many_to_many_through_tables.py +285 -0
  444. hare_orm-0.9.0/hare/dialects/base/schema/runtime_statements/__init__.py +1 -0
  445. hare_orm-0.9.0/hare/dialects/base/schema/runtime_statements/table_clearing.py +54 -0
  446. hare_orm-0.9.0/hare/dialects/base/schema/runtime_statements/table_locks.py +34 -0
  447. hare_orm-0.9.0/hare/dialects/base/schema/runtime_statements/tenant_conditions.py +71 -0
  448. hare_orm-0.9.0/hare/dialects/base/schema/schema_editor_part.py +34 -0
  449. hare_orm-0.9.0/hare/dialects/base/schema/schema_objects/__init__.py +1 -0
  450. hare_orm-0.9.0/hare/dialects/base/schema/schema_objects/database_functions.py +74 -0
  451. hare_orm-0.9.0/hare/dialects/base/schema/schema_objects/dictionaries.py +75 -0
  452. hare_orm-0.9.0/hare/dialects/base/schema/schema_objects/enum_types.py +88 -0
  453. hare_orm-0.9.0/hare/dialects/base/schema/schema_objects/extensions.py +69 -0
  454. hare_orm-0.9.0/hare/dialects/base/schema/schema_objects/grants.py +49 -0
  455. hare_orm-0.9.0/hare/dialects/base/schema/schema_objects/materialized_views.py +111 -0
  456. hare_orm-0.9.0/hare/dialects/base/schema/schema_objects/row_level_security_policies.py +82 -0
  457. hare_orm-0.9.0/hare/dialects/base/schema/schema_objects/schemas.py +65 -0
  458. hare_orm-0.9.0/hare/dialects/base/schema/schema_objects/sequences.py +95 -0
  459. hare_orm-0.9.0/hare/dialects/base/schema/schema_objects/views.py +81 -0
  460. hare_orm-0.9.0/hare/dialects/base/schema/shadow/__init__.py +0 -0
  461. hare_orm-0.9.0/hare/dialects/base/schema/shadow/shadow_database.py +77 -0
  462. hare_orm-0.9.0/hare/dialects/base/schema/tables/__init__.py +1 -0
  463. hare_orm-0.9.0/hare/dialects/base/schema/tables/table_comments.py +92 -0
  464. hare_orm-0.9.0/hare/dialects/base/schema/tables/table_creation.py +742 -0
  465. hare_orm-0.9.0/hare/dialects/base/schema/tables/table_partitions.py +78 -0
  466. hare_orm-0.9.0/hare/dialects/base/schema/tables/table_rebuild.py +268 -0
  467. hare_orm-0.9.0/hare/dialects/base/schema/triggers/__init__.py +1 -0
  468. hare_orm-0.9.0/hare/dialects/base/schema/triggers/trigger_statements.py +85 -0
  469. hare_orm-0.9.0/hare/dialects/base/search/__init__.py +1 -0
  470. hare_orm-0.9.0/hare/dialects/base/search/text_search.py +135 -0
  471. hare_orm-0.9.0/hare/dialects/base/sql_dialect.py +23 -0
  472. hare_orm-0.9.0/hare/dialects/base/transactions/__init__.py +1 -0
  473. hare_orm-0.9.0/hare/dialects/base/transactions/constants.py +5 -0
  474. hare_orm-0.9.0/hare/dialects/base/transactions/contexts/__init__.py +1 -0
  475. hare_orm-0.9.0/hare/dialects/base/transactions/contexts/joined_transaction_context.py +36 -0
  476. hare_orm-0.9.0/hare/dialects/base/transactions/contexts/nested_transaction_context.py +149 -0
  477. hare_orm-0.9.0/hare/dialects/base/transactions/contexts/non_transactional_context.py +32 -0
  478. hare_orm-0.9.0/hare/dialects/base/transactions/contexts/top_level_transaction_context.py +79 -0
  479. hare_orm-0.9.0/hare/dialects/base/transactions/contexts/transaction_context.py +148 -0
  480. hare_orm-0.9.0/hare/dialects/base/transactions/savepoints/__init__.py +1 -0
  481. hare_orm-0.9.0/hare/dialects/base/transactions/savepoints/nested_savepoint_lock.py +152 -0
  482. hare_orm-0.9.0/hare/dialects/base/transactions/savepoints/savepoint_span.py +51 -0
  483. hare_orm-0.9.0/hare/dialects/base/transactions/transaction_callback.py +32 -0
  484. hare_orm-0.9.0/hare/dialects/base/transactions/transaction_statements.py +128 -0
  485. hare_orm-0.9.0/hare/dialects/base/transactions/two_phase_commit.py +134 -0
  486. hare_orm-0.9.0/hare/dialects/base/types/__init__.py +9 -0
  487. hare_orm-0.9.0/hare/dialects/base/types/type_mapping.py +63 -0
  488. hare_orm-0.9.0/hare/dialects/base/types/type_registry.py +395 -0
  489. hare_orm-0.9.0/hare/dialects/clickhouse/__init__.py +1 -0
  490. hare_orm-0.9.0/hare/dialects/clickhouse/clauses/__init__.py +1 -0
  491. hare_orm-0.9.0/hare/dialects/clickhouse/clauses/clickhouse_query_clauses.py +475 -0
  492. hare_orm-0.9.0/hare/dialects/clickhouse/clauses/constants.py +42 -0
  493. hare_orm-0.9.0/hare/dialects/clickhouse/clickhouse_dialect.py +260 -0
  494. hare_orm-0.9.0/hare/dialects/clickhouse/clickhouse_introspector.py +414 -0
  495. hare_orm-0.9.0/hare/dialects/clickhouse/clickhouse_table_options.py +727 -0
  496. hare_orm-0.9.0/hare/dialects/clickhouse/client/__init__.py +1 -0
  497. hare_orm-0.9.0/hare/dialects/clickhouse/client/clickhouse_client.py +913 -0
  498. hare_orm-0.9.0/hare/dialects/clickhouse/client/clickhouse_connection.py +30 -0
  499. hare_orm-0.9.0/hare/dialects/clickhouse/client/clickhouse_error_codes.py +26 -0
  500. hare_orm-0.9.0/hare/dialects/clickhouse/client/clickhouse_external_sets.py +109 -0
  501. hare_orm-0.9.0/hare/dialects/clickhouse/client/clickhouse_query_templates.py +79 -0
  502. hare_orm-0.9.0/hare/dialects/clickhouse/client/clickhouse_statement_result.py +15 -0
  503. hare_orm-0.9.0/hare/dialects/clickhouse/client/clickhouse_streamed_row.py +52 -0
  504. hare_orm-0.9.0/hare/dialects/clickhouse/client/clickhouse_transaction_client.py +188 -0
  505. hare_orm-0.9.0/hare/dialects/clickhouse/client/constants.py +211 -0
  506. hare_orm-0.9.0/hare/dialects/clickhouse/client/declarations.py +47 -0
  507. hare_orm-0.9.0/hare/dialects/clickhouse/cluster/__init__.py +0 -0
  508. hare_orm-0.9.0/hare/dialects/clickhouse/cluster/clickhouse_cluster.py +162 -0
  509. hare_orm-0.9.0/hare/dialects/clickhouse/cluster/clickhouse_cluster_statements.py +154 -0
  510. hare_orm-0.9.0/hare/dialects/clickhouse/cluster/constants.py +82 -0
  511. hare_orm-0.9.0/hare/dialects/clickhouse/connection/__init__.py +1 -0
  512. hare_orm-0.9.0/hare/dialects/clickhouse/connection/clickhouse_driver.py +40 -0
  513. hare_orm-0.9.0/hare/dialects/clickhouse/constants.py +226 -0
  514. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/__init__.py +1 -0
  515. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_connect/__init__.py +1 -0
  516. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_connect/clickhouse_connect_driver.py +43 -0
  517. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_connect/client/__init__.py +1 -0
  518. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_connect/client/clickhouse_connect_client.py +390 -0
  519. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_connect/client/clickhouse_connect_dynamic_type.py +76 -0
  520. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_connect/client/clickhouse_connect_totals_query.py +70 -0
  521. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_connect/client/clickhouse_connect_transaction_client.py +56 -0
  522. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_connect/client/clickhouse_connect_whole_response_query.py +127 -0
  523. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_connect/client/clickhouse_json_compact_values.py +96 -0
  524. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_connect/constants.py +60 -0
  525. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/__init__.py +1 -0
  526. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/clickhouse_driver_driver.py +48 -0
  527. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/__init__.py +1 -0
  528. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_client.py +361 -0
  529. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_client_info.py +70 -0
  530. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_column_types.py +104 -0
  531. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_connections.py +189 -0
  532. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_decompressors.py +48 -0
  533. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_dynamic_column.py +51 -0
  534. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_library_client.py +239 -0
  535. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_library_connection.py +16 -0
  536. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_map_columns.py +49 -0
  537. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_moment_columns.py +85 -0
  538. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_query_result.py +24 -0
  539. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_row_stream.py +127 -0
  540. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_service_block_stream.py +95 -0
  541. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_settings.py +62 -0
  542. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_transaction_client.py +23 -0
  543. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_tuple_columns.py +38 -0
  544. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/client/clickhouse_driver_variant_column.py +76 -0
  545. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_driver/constants.py +133 -0
  546. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/clickhouse_shared_variant_values.py +878 -0
  547. hare_orm-0.9.0/hare/dialects/clickhouse/drivers/constants.py +143 -0
  548. hare_orm-0.9.0/hare/dialects/clickhouse/enums.py +38 -0
  549. hare_orm-0.9.0/hare/dialects/clickhouse/fields/__init__.py +43 -0
  550. hare_orm-0.9.0/hare/dialects/clickhouse/fields/clickhouse_date_field.py +32 -0
  551. hare_orm-0.9.0/hare/dialects/clickhouse/fields/clickhouse_datetime_field.py +162 -0
  552. hare_orm-0.9.0/hare/dialects/clickhouse/fields/clickhouse_integer_field.py +20 -0
  553. hare_orm-0.9.0/hare/dialects/clickhouse/fields/constants.py +31 -0
  554. hare_orm-0.9.0/hare/dialects/clickhouse/fields/declarations.py +81 -0
  555. hare_orm-0.9.0/hare/dialects/clickhouse/fields/dynamic_field.py +122 -0
  556. hare_orm-0.9.0/hare/dialects/clickhouse/fields/fixed_string_field.py +81 -0
  557. hare_orm-0.9.0/hare/dialects/clickhouse/fields/float32_field.py +39 -0
  558. hare_orm-0.9.0/hare/dialects/clickhouse/fields/low_cardinality_field.py +72 -0
  559. hare_orm-0.9.0/hare/dialects/clickhouse/fields/variant_field.py +174 -0
  560. hare_orm-0.9.0/hare/dialects/clickhouse/functions/__init__.py +39 -0
  561. hare_orm-0.9.0/hare/dialects/clickhouse/functions/aggregates/__init__.py +37 -0
  562. hare_orm-0.9.0/hare/dialects/clickhouse/functions/aggregates/arg_extremum.py +23 -0
  563. hare_orm-0.9.0/hare/dialects/clickhouse/functions/aggregates/declarations.py +120 -0
  564. hare_orm-0.9.0/hare/dialects/clickhouse/functions/aggregates/group_array.py +48 -0
  565. hare_orm-0.9.0/hare/dialects/clickhouse/functions/aggregates/median.py +18 -0
  566. hare_orm-0.9.0/hare/dialects/clickhouse/functions/aggregates/parametric_aggregate.py +48 -0
  567. hare_orm-0.9.0/hare/dialects/clickhouse/functions/aggregates/parametric_aggregate_function.py +45 -0
  568. hare_orm-0.9.0/hare/dialects/clickhouse/functions/aggregates/parametric_analytic_function.py +27 -0
  569. hare_orm-0.9.0/hare/dialects/clickhouse/functions/aggregates/quantile.py +74 -0
  570. hare_orm-0.9.0/hare/dialects/clickhouse/functions/aggregates/quantiles.py +58 -0
  571. hare_orm-0.9.0/hare/dialects/clickhouse/functions/aggregates/top_k.py +44 -0
  572. hare_orm-0.9.0/hare/dialects/clickhouse/functions/dict_get.py +199 -0
  573. hare_orm-0.9.0/hare/dialects/clickhouse/indexes/__init__.py +19 -0
  574. hare_orm-0.9.0/hare/dialects/clickhouse/indexes/bloom_filter_index.py +49 -0
  575. hare_orm-0.9.0/hare/dialects/clickhouse/indexes/clickhouse_index.py +145 -0
  576. hare_orm-0.9.0/hare/dialects/clickhouse/indexes/constants.py +14 -0
  577. hare_orm-0.9.0/hare/dialects/clickhouse/indexes/min_max_index.py +22 -0
  578. hare_orm-0.9.0/hare/dialects/clickhouse/indexes/ngram_bloom_filter_index.py +43 -0
  579. hare_orm-0.9.0/hare/dialects/clickhouse/indexes/set_index.py +35 -0
  580. hare_orm-0.9.0/hare/dialects/clickhouse/indexes/token_bloom_filter_index.py +60 -0
  581. hare_orm-0.9.0/hare/dialects/clickhouse/introspection/__init__.py +0 -0
  582. hare_orm-0.9.0/hare/dialects/clickhouse/introspection/clickhouse_check_constraints.py +40 -0
  583. hare_orm-0.9.0/hare/dialects/clickhouse/introspection/clickhouse_observed_table_options.py +280 -0
  584. hare_orm-0.9.0/hare/dialects/clickhouse/introspection/clickhouse_sql_parts.py +302 -0
  585. hare_orm-0.9.0/hare/dialects/clickhouse/introspection/clickhouse_type_parser.py +276 -0
  586. hare_orm-0.9.0/hare/dialects/clickhouse/introspection/constants.py +69 -0
  587. hare_orm-0.9.0/hare/dialects/clickhouse/keeper/__init__.py +0 -0
  588. hare_orm-0.9.0/hare/dialects/clickhouse/keeper/clickhouse_migration_lock.py +114 -0
  589. hare_orm-0.9.0/hare/dialects/clickhouse/keeper/constants.py +38 -0
  590. hare_orm-0.9.0/hare/dialects/clickhouse/keeper/keeper_codec.py +152 -0
  591. hare_orm-0.9.0/hare/dialects/clickhouse/keeper/keeper_session.py +213 -0
  592. hare_orm-0.9.0/hare/dialects/clickhouse/literals/__init__.py +1 -0
  593. hare_orm-0.9.0/hare/dialects/clickhouse/literals/clickhouse_literals.py +362 -0
  594. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/__init__.py +0 -0
  595. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/clickhouse_array_elements_key.py +32 -0
  596. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/clickhouse_filter_operators.py +49 -0
  597. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/clickhouse_global_lookups.py +129 -0
  598. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/clickhouse_json_equality.py +78 -0
  599. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/clickhouse_json_key_existence.py +38 -0
  600. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/clickhouse_json_lookups.py +57 -0
  601. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/clickhouse_json_path_lookups.py +102 -0
  602. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/clickhouse_json_value_text.py +24 -0
  603. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/clickhouse_typed_value_lookups.py +213 -0
  604. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/constants.py +67 -0
  605. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/declarations.py +14 -0
  606. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/global_contains_criterion.py +15 -0
  607. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/in_list/__init__.py +0 -0
  608. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/in_list/clickhouse_large_in_list.py +95 -0
  609. hare_orm-0.9.0/hare/dialects/clickhouse/lookups/in_list/clickhouse_value_set_values.py +45 -0
  610. hare_orm-0.9.0/hare/dialects/clickhouse/migration_safety/__init__.py +9 -0
  611. hare_orm-0.9.0/hare/dialects/clickhouse/migration_safety/clickhouse_migration_safety_rules.py +34 -0
  612. hare_orm-0.9.0/hare/dialects/clickhouse/migration_safety/constants.py +10 -0
  613. hare_orm-0.9.0/hare/dialects/clickhouse/parameters/__init__.py +1 -0
  614. hare_orm-0.9.0/hare/dialects/clickhouse/parameters/clickhouse_parameters.py +42 -0
  615. hare_orm-0.9.0/hare/dialects/clickhouse/query/__init__.py +1 -0
  616. hare_orm-0.9.0/hare/dialects/clickhouse/query/clickhouse_dialect_variants.py +31 -0
  617. hare_orm-0.9.0/hare/dialects/clickhouse/query/clickhouse_queryset_methods.py +356 -0
  618. hare_orm-0.9.0/hare/dialects/clickhouse/query/clickhouse_sql_context.py +47 -0
  619. hare_orm-0.9.0/hare/dialects/clickhouse/query/clickhouse_totals.py +34 -0
  620. hare_orm-0.9.0/hare/dialects/clickhouse/query/constants.py +24 -0
  621. hare_orm-0.9.0/hare/dialects/clickhouse/query/declarations.py +21 -0
  622. hare_orm-0.9.0/hare/dialects/clickhouse/query/totals_result.py +21 -0
  623. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/__init__.py +1 -0
  624. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_aggregate_renderers.py +124 -0
  625. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_assigned_enum_number.py +30 -0
  626. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_cast_renderers.py +49 -0
  627. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_checked_integer_result.py +34 -0
  628. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_condition_renderers.py +27 -0
  629. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_container_renderers.py +129 -0
  630. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_json_renderers.py +105 -0
  631. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_json_texts.py +34 -0
  632. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_number_renderers.py +76 -0
  633. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_renderers.py +339 -0
  634. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_temporal_renderers.py +262 -0
  635. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_text_renderers.py +117 -0
  636. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_value_casts.py +115 -0
  637. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/clickhouse_window_renderers.py +72 -0
  638. hare_orm-0.9.0/hare/dialects/clickhouse/renderers/constants.py +341 -0
  639. hare_orm-0.9.0/hare/dialects/clickhouse/schema/__init__.py +1 -0
  640. hare_orm-0.9.0/hare/dialects/clickhouse/schema/columns/__init__.py +1 -0
  641. hare_orm-0.9.0/hare/dialects/clickhouse/schema/columns/clickhouse_column_backfill.py +106 -0
  642. hare_orm-0.9.0/hare/dialects/clickhouse/schema/columns/clickhouse_column_conversion_check.py +173 -0
  643. hare_orm-0.9.0/hare/dialects/clickhouse/schema/columns/clickhouse_column_definitions.py +62 -0
  644. hare_orm-0.9.0/hare/dialects/clickhouse/schema/columns/clickhouse_column_narrowing_check.py +109 -0
  645. hare_orm-0.9.0/hare/dialects/clickhouse/schema/columns/clickhouse_column_renames.py +45 -0
  646. hare_orm-0.9.0/hare/dialects/clickhouse/schema/constants.py +201 -0
  647. hare_orm-0.9.0/hare/dialects/clickhouse/schema/declarations.py +95 -0
  648. hare_orm-0.9.0/hare/dialects/clickhouse/schema/indexes/__init__.py +0 -0
  649. hare_orm-0.9.0/hare/dialects/clickhouse/schema/indexes/clickhouse_index_statements.py +60 -0
  650. hare_orm-0.9.0/hare/dialects/clickhouse/schema/runtime_statements/__init__.py +1 -0
  651. hare_orm-0.9.0/hare/dialects/clickhouse/schema/runtime_statements/clickhouse_table_clearing.py +19 -0
  652. hare_orm-0.9.0/hare/dialects/clickhouse/schema/schema_objects/__init__.py +0 -0
  653. hare_orm-0.9.0/hare/dialects/clickhouse/schema/schema_objects/clickhouse_dictionaries.py +169 -0
  654. hare_orm-0.9.0/hare/dialects/clickhouse/schema/schema_objects/clickhouse_materialized_views.py +221 -0
  655. hare_orm-0.9.0/hare/dialects/clickhouse/schema/schema_objects/clickhouse_schemas.py +69 -0
  656. hare_orm-0.9.0/hare/dialects/clickhouse/schema/schema_objects/clickhouse_views.py +59 -0
  657. hare_orm-0.9.0/hare/dialects/clickhouse/schema/shadow/__init__.py +0 -0
  658. hare_orm-0.9.0/hare/dialects/clickhouse/schema/shadow/clickhouse_shadow_database.py +155 -0
  659. hare_orm-0.9.0/hare/dialects/clickhouse/schema/tables/__init__.py +1 -0
  660. hare_orm-0.9.0/hare/dialects/clickhouse/schema/tables/clickhouse_table_comments.py +43 -0
  661. hare_orm-0.9.0/hare/dialects/clickhouse/schema/tables/clickhouse_table_creation.py +50 -0
  662. hare_orm-0.9.0/hare/dialects/clickhouse/schema/tables/clickhouse_table_partitions.py +160 -0
  663. hare_orm-0.9.0/hare/dialects/clickhouse/schema/tables/clickhouse_table_rebuild.py +227 -0
  664. hare_orm-0.9.0/hare/dialects/clickhouse/schema_objects/__init__.py +5 -0
  665. hare_orm-0.9.0/hare/dialects/clickhouse/schema_objects/clickhouse_dictionary.py +118 -0
  666. hare_orm-0.9.0/hare/dialects/clickhouse/schema_objects/clickhouse_materialized_view.py +159 -0
  667. hare_orm-0.9.0/hare/dialects/clickhouse/schema_objects/clickhouse_projection.py +204 -0
  668. hare_orm-0.9.0/hare/dialects/clickhouse/server_versions.py +5 -0
  669. hare_orm-0.9.0/hare/dialects/clickhouse/spatial/__init__.py +0 -0
  670. hare_orm-0.9.0/hare/dialects/clickhouse/spatial/clickhouse_geometry_values.py +208 -0
  671. hare_orm-0.9.0/hare/dialects/clickhouse/spatial/clickhouse_spatial_renderers.py +265 -0
  672. hare_orm-0.9.0/hare/dialects/clickhouse/spatial/constants.py +66 -0
  673. hare_orm-0.9.0/hare/dialects/clickhouse/transactions/__init__.py +0 -0
  674. hare_orm-0.9.0/hare/dialects/clickhouse/transactions/clickhouse_transaction_statements.py +19 -0
  675. hare_orm-0.9.0/hare/dialects/clickhouse/types/__init__.py +1 -0
  676. hare_orm-0.9.0/hare/dialects/clickhouse/types/clickhouse_address_values.py +35 -0
  677. hare_orm-0.9.0/hare/dialects/clickhouse/types/clickhouse_binary_values.py +58 -0
  678. hare_orm-0.9.0/hare/dialects/clickhouse/types/clickhouse_container_values.py +267 -0
  679. hare_orm-0.9.0/hare/dialects/clickhouse/types/clickhouse_dynamic_values.py +307 -0
  680. hare_orm-0.9.0/hare/dialects/clickhouse/types/clickhouse_enum_types.py +232 -0
  681. hare_orm-0.9.0/hare/dialects/clickhouse/types/clickhouse_json_values.py +202 -0
  682. hare_orm-0.9.0/hare/dialects/clickhouse/types/clickhouse_low_cardinality_values.py +95 -0
  683. hare_orm-0.9.0/hare/dialects/clickhouse/types/clickhouse_nullable_types.py +27 -0
  684. hare_orm-0.9.0/hare/dialects/clickhouse/types/clickhouse_type_names.py +128 -0
  685. hare_orm-0.9.0/hare/dialects/clickhouse/types/clickhouse_types.py +258 -0
  686. hare_orm-0.9.0/hare/dialects/clickhouse/types/clickhouse_variant_values.py +128 -0
  687. hare_orm-0.9.0/hare/dialects/clickhouse/types/constants.py +139 -0
  688. hare_orm-0.9.0/hare/dialects/clickhouse/types/declarations.py +23 -0
  689. hare_orm-0.9.0/hare/dialects/constants.py +32 -0
  690. hare_orm-0.9.0/hare/dialects/dialect_registry.py +340 -0
  691. hare_orm-0.9.0/hare/dialects/enums.py +34 -0
  692. hare_orm-0.9.0/hare/dialects/postgresql/__init__.py +0 -0
  693. hare_orm-0.9.0/hare/dialects/postgresql/clauses/__init__.py +1 -0
  694. hare_orm-0.9.0/hare/dialects/postgresql/clauses/constants.py +44 -0
  695. hare_orm-0.9.0/hare/dialects/postgresql/clauses/postgresql_query_clauses.py +114 -0
  696. hare_orm-0.9.0/hare/dialects/postgresql/client/__init__.py +10 -0
  697. hare_orm-0.9.0/hare/dialects/postgresql/client/constants.py +328 -0
  698. hare_orm-0.9.0/hare/dialects/postgresql/client/postgresql_client.py +1224 -0
  699. hare_orm-0.9.0/hare/dialects/postgresql/client/postgresql_connect_errors.py +66 -0
  700. hare_orm-0.9.0/hare/dialects/postgresql/client/postgresql_transaction_client.py +80 -0
  701. hare_orm-0.9.0/hare/dialects/postgresql/client/reusable_test_schemas.py +197 -0
  702. hare_orm-0.9.0/hare/dialects/postgresql/client/transaction_pooler.py +137 -0
  703. hare_orm-0.9.0/hare/dialects/postgresql/connection/__init__.py +1 -0
  704. hare_orm-0.9.0/hare/dialects/postgresql/connection/constants.py +11 -0
  705. hare_orm-0.9.0/hare/dialects/postgresql/connection/postgresql_driver.py +99 -0
  706. hare_orm-0.9.0/hare/dialects/postgresql/constants.py +862 -0
  707. hare_orm-0.9.0/hare/dialects/postgresql/drivers/__init__.py +0 -0
  708. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/__init__.py +0 -0
  709. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/asyncpg_date_codec.py +81 -0
  710. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/asyncpg_driver.py +37 -0
  711. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/asyncpg_extension_type_codecs.py +78 -0
  712. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/asyncpg_hstore_codec.py +84 -0
  713. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/asyncpg_interval_codec.py +72 -0
  714. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/asyncpg_timestamp_codec.py +74 -0
  715. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/asyncpg_timestamptz_codec.py +88 -0
  716. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/asyncpg_tsvector_codec.py +264 -0
  717. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/client/__init__.py +9 -0
  718. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/client/asyncpg_client.py +738 -0
  719. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/client/asyncpg_transaction_client.py +197 -0
  720. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/constants.py +150 -0
  721. hare_orm-0.9.0/hare/dialects/postgresql/drivers/asyncpg/pre_epoch_local_zone.py +27 -0
  722. hare_orm-0.9.0/hare/dialects/postgresql/drivers/constants.py +22 -0
  723. hare_orm-0.9.0/hare/dialects/postgresql/drivers/rust_pg/__init__.py +0 -0
  724. hare_orm-0.9.0/hare/dialects/postgresql/drivers/rust_pg/client/__init__.py +9 -0
  725. hare_orm-0.9.0/hare/dialects/postgresql/drivers/rust_pg/client/rust_pg_client.py +461 -0
  726. hare_orm-0.9.0/hare/dialects/postgresql/drivers/rust_pg/client/rust_pg_transaction_client.py +306 -0
  727. hare_orm-0.9.0/hare/dialects/postgresql/drivers/rust_pg/client/rust_pg_transaction_connection_wrapper.py +53 -0
  728. hare_orm-0.9.0/hare/dialects/postgresql/drivers/rust_pg/constants.py +43 -0
  729. hare_orm-0.9.0/hare/dialects/postgresql/drivers/rust_pg/rust_pg_driver.py +66 -0
  730. hare_orm-0.9.0/hare/dialects/postgresql/enums.py +99 -0
  731. hare_orm-0.9.0/hare/dialects/postgresql/fields/__init__.py +68 -0
  732. hare_orm-0.9.0/hare/dialects/postgresql/fields/citext_field.py +42 -0
  733. hare_orm-0.9.0/hare/dialects/postgresql/fields/constants.py +115 -0
  734. hare_orm-0.9.0/hare/dialects/postgresql/fields/fixed_char_field.py +23 -0
  735. hare_orm-0.9.0/hare/dialects/postgresql/fields/hstore/__init__.py +5 -0
  736. hare_orm-0.9.0/hare/dialects/postgresql/fields/hstore/h_store_field.py +105 -0
  737. hare_orm-0.9.0/hare/dialects/postgresql/fields/hstore/h_store_text.py +86 -0
  738. hare_orm-0.9.0/hare/dialects/postgresql/fields/interval_field.py +31 -0
  739. hare_orm-0.9.0/hare/dialects/postgresql/fields/ltree_field.py +98 -0
  740. hare_orm-0.9.0/hare/dialects/postgresql/fields/multiranges/__init__.py +19 -0
  741. hare_orm-0.9.0/hare/dialects/postgresql/fields/multiranges/declarations.py +55 -0
  742. hare_orm-0.9.0/hare/dialects/postgresql/fields/multiranges/multi_range_field.py +326 -0
  743. hare_orm-0.9.0/hare/dialects/postgresql/fields/naive_datetime_field.py +74 -0
  744. hare_orm-0.9.0/hare/dialects/postgresql/fields/naive_time_field.py +64 -0
  745. hare_orm-0.9.0/hare/dialects/postgresql/fields/native_enum/__init__.py +5 -0
  746. hare_orm-0.9.0/hare/dialects/postgresql/fields/native_enum/native_enum_field.py +23 -0
  747. hare_orm-0.9.0/hare/dialects/postgresql/fields/native_enum/native_enum_field_instance.py +87 -0
  748. hare_orm-0.9.0/hare/dialects/postgresql/fields/network/__init__.py +7 -0
  749. hare_orm-0.9.0/hare/dialects/postgresql/fields/network/cidr_field.py +24 -0
  750. hare_orm-0.9.0/hare/dialects/postgresql/fields/network/inet_field.py +25 -0
  751. hare_orm-0.9.0/hare/dialects/postgresql/fields/network/mac_address_field.py +59 -0
  752. hare_orm-0.9.0/hare/dialects/postgresql/fields/network/network_field.py +80 -0
  753. hare_orm-0.9.0/hare/dialects/postgresql/fields/postgis_field.py +206 -0
  754. hare_orm-0.9.0/hare/dialects/postgresql/fields/ranges/__init__.py +19 -0
  755. hare_orm-0.9.0/hare/dialects/postgresql/fields/ranges/date_range_field.py +48 -0
  756. hare_orm-0.9.0/hare/dialects/postgresql/fields/ranges/date_time_range_field.py +153 -0
  757. hare_orm-0.9.0/hare/dialects/postgresql/fields/ranges/decimal_range_field.py +42 -0
  758. hare_orm-0.9.0/hare/dialects/postgresql/fields/ranges/declarations.py +15 -0
  759. hare_orm-0.9.0/hare/dialects/postgresql/fields/ranges/int_range_field.py +60 -0
  760. hare_orm-0.9.0/hare/dialects/postgresql/fields/ranges/range.py +26 -0
  761. hare_orm-0.9.0/hare/dialects/postgresql/fields/ranges/range_field.py +349 -0
  762. hare_orm-0.9.0/hare/dialects/postgresql/fields/ts_vector_field.py +143 -0
  763. hare_orm-0.9.0/hare/dialects/postgresql/functions/__init__.py +72 -0
  764. hare_orm-0.9.0/hare/dialects/postgresql/functions/aggregates/__init__.py +21 -0
  765. hare_orm-0.9.0/hare/dialects/postgresql/functions/aggregates/declarations.py +67 -0
  766. hare_orm-0.9.0/hare/dialects/postgresql/functions/aggregates/jsonb_agg.py +35 -0
  767. hare_orm-0.9.0/hare/dialects/postgresql/functions/aggregates/jsonb_agg_field.py +29 -0
  768. hare_orm-0.9.0/hare/dialects/postgresql/functions/aggregates/range_agg.py +22 -0
  769. hare_orm-0.9.0/hare/dialects/postgresql/functions/aggregates/string_agg.py +101 -0
  770. hare_orm-0.9.0/hare/dialects/postgresql/functions/aggregates/string_agg_function.py +13 -0
  771. hare_orm-0.9.0/hare/dialects/postgresql/functions/array/__init__.py +13 -0
  772. hare_orm-0.9.0/hare/dialects/postgresql/functions/array/any_value.py +13 -0
  773. hare_orm-0.9.0/hare/dialects/postgresql/functions/array/array_slice.py +28 -0
  774. hare_orm-0.9.0/hare/dialects/postgresql/functions/array/array_subquery.py +62 -0
  775. hare_orm-0.9.0/hare/dialects/postgresql/functions/array/array_subscript.py +66 -0
  776. hare_orm-0.9.0/hare/dialects/postgresql/functions/constants.py +8 -0
  777. hare_orm-0.9.0/hare/dialects/postgresql/functions/ltree/__init__.py +7 -0
  778. hare_orm-0.9.0/hare/dialects/postgresql/functions/ltree/subpath.py +54 -0
  779. hare_orm-0.9.0/hare/dialects/postgresql/functions/random_uuid.py +26 -0
  780. hare_orm-0.9.0/hare/dialects/postgresql/functions/spatial/__init__.py +9 -0
  781. hare_orm-0.9.0/hare/dialects/postgresql/functions/spatial/st_distance.py +63 -0
  782. hare_orm-0.9.0/hare/dialects/postgresql/functions/spatial/std_within.py +46 -0
  783. hare_orm-0.9.0/hare/dialects/postgresql/functions/statistics/__init__.py +31 -0
  784. hare_orm-0.9.0/hare/dialects/postgresql/functions/statistics/covar_pop.py +49 -0
  785. hare_orm-0.9.0/hare/dialects/postgresql/functions/statistics/declarations.py +84 -0
  786. hare_orm-0.9.0/hare/dialects/postgresql/functions/statistics/regr_count.py +21 -0
  787. hare_orm-0.9.0/hare/dialects/postgresql/functions/statistics/statistic_pair_aggregate.py +55 -0
  788. hare_orm-0.9.0/hare/dialects/postgresql/functions/transaction_now.py +27 -0
  789. hare_orm-0.9.0/hare/dialects/postgresql/functions/trigram/__init__.py +21 -0
  790. hare_orm-0.9.0/hare/dialects/postgresql/functions/trigram/declarations.py +53 -0
  791. hare_orm-0.9.0/hare/dialects/postgresql/functions/trigram/trigram_function.py +61 -0
  792. hare_orm-0.9.0/hare/dialects/postgresql/functions/trigram/trigram_word_similarity.py +19 -0
  793. hare_orm-0.9.0/hare/dialects/postgresql/indexes/__init__.py +25 -0
  794. hare_orm-0.9.0/hare/dialects/postgresql/indexes/constants.py +16 -0
  795. hare_orm-0.9.0/hare/dialects/postgresql/indexes/declarations.py +36 -0
  796. hare_orm-0.9.0/hare/dialects/postgresql/indexes/hnsw_index.py +63 -0
  797. hare_orm-0.9.0/hare/dialects/postgresql/indexes/ivfflat_index.py +37 -0
  798. hare_orm-0.9.0/hare/dialects/postgresql/indexes/postgresql_index.py +112 -0
  799. hare_orm-0.9.0/hare/dialects/postgresql/introspection/__init__.py +0 -0
  800. hare_orm-0.9.0/hare/dialects/postgresql/introspection/postgresql_array_literals.py +101 -0
  801. hare_orm-0.9.0/hare/dialects/postgresql/introspection/postgresql_definitions.py +193 -0
  802. hare_orm-0.9.0/hare/dialects/postgresql/introspection/postgresql_inspected_schema_objects.py +196 -0
  803. hare_orm-0.9.0/hare/dialects/postgresql/introspection/postgresql_object_parts.py +102 -0
  804. hare_orm-0.9.0/hare/dialects/postgresql/literals/__init__.py +1 -0
  805. hare_orm-0.9.0/hare/dialects/postgresql/literals/postgresql_literals.py +99 -0
  806. hare_orm-0.9.0/hare/dialects/postgresql/lookups/__init__.py +0 -0
  807. hare_orm-0.9.0/hare/dialects/postgresql/lookups/array/__init__.py +5 -0
  808. hare_orm-0.9.0/hare/dialects/postgresql/lookups/array/array_length.py +26 -0
  809. hare_orm-0.9.0/hare/dialects/postgresql/lookups/constants.py +44 -0
  810. hare_orm-0.9.0/hare/dialects/postgresql/lookups/hstore/__init__.py +11 -0
  811. hare_orm-0.9.0/hare/dialects/postgresql/lookups/hstore/h_store_value_term.py +18 -0
  812. hare_orm-0.9.0/hare/dialects/postgresql/lookups/hstore/postgresql_h_store_field_lookups.py +75 -0
  813. hare_orm-0.9.0/hare/dialects/postgresql/lookups/hstore/postgresql_h_store_lookups.py +38 -0
  814. hare_orm-0.9.0/hare/dialects/postgresql/lookups/in_list/__init__.py +11 -0
  815. hare_orm-0.9.0/hare/dialects/postgresql/lookups/in_list/array_parameter.py +104 -0
  816. hare_orm-0.9.0/hare/dialects/postgresql/lookups/in_list/postgresql_large_in_list.py +78 -0
  817. hare_orm-0.9.0/hare/dialects/postgresql/lookups/in_list/unnest_row_values.py +32 -0
  818. hare_orm-0.9.0/hare/dialects/postgresql/lookups/json/__init__.py +9 -0
  819. hare_orm-0.9.0/hare/dialects/postgresql/lookups/json/postgresql_json_filter_guards.py +111 -0
  820. hare_orm-0.9.0/hare/dialects/postgresql/lookups/json/postgresql_json_lookups.py +59 -0
  821. hare_orm-0.9.0/hare/dialects/postgresql/lookups/ltree/__init__.py +9 -0
  822. hare_orm-0.9.0/hare/dialects/postgresql/lookups/ltree/postgresql_ltree_field_lookups.py +54 -0
  823. hare_orm-0.9.0/hare/dialects/postgresql/lookups/ltree/postgresql_ltree_lookups.py +35 -0
  824. hare_orm-0.9.0/hare/dialects/postgresql/lookups/multiranges/__init__.py +9 -0
  825. hare_orm-0.9.0/hare/dialects/postgresql/lookups/multiranges/postgresql_multi_range_field_lookups.py +50 -0
  826. hare_orm-0.9.0/hare/dialects/postgresql/lookups/network/__init__.py +1 -0
  827. hare_orm-0.9.0/hare/dialects/postgresql/lookups/network/postgresql_network_field_lookups.py +46 -0
  828. hare_orm-0.9.0/hare/dialects/postgresql/lookups/network/postgresql_network_lookups.py +35 -0
  829. hare_orm-0.9.0/hare/dialects/postgresql/lookups/postgresql_filter_operators.py +96 -0
  830. hare_orm-0.9.0/hare/dialects/postgresql/lookups/postgresql_regex_lookups.py +22 -0
  831. hare_orm-0.9.0/hare/dialects/postgresql/lookups/postgresql_value_encoders.py +163 -0
  832. hare_orm-0.9.0/hare/dialects/postgresql/lookups/ranges/__init__.py +9 -0
  833. hare_orm-0.9.0/hare/dialects/postgresql/lookups/ranges/postgresql_range_field_lookups.py +49 -0
  834. hare_orm-0.9.0/hare/dialects/postgresql/lookups/ranges/postgresql_range_lookups.py +49 -0
  835. hare_orm-0.9.0/hare/dialects/postgresql/lookups/trigram/__init__.py +1 -0
  836. hare_orm-0.9.0/hare/dialects/postgresql/lookups/trigram/postgresql_trigram_lookups.py +69 -0
  837. hare_orm-0.9.0/hare/dialects/postgresql/lookups/trigram/trigram_operator_term.py +16 -0
  838. hare_orm-0.9.0/hare/dialects/postgresql/lookups/unaccent_transform.py +39 -0
  839. hare_orm-0.9.0/hare/dialects/postgresql/migration_safety/__init__.py +9 -0
  840. hare_orm-0.9.0/hare/dialects/postgresql/migration_safety/check_constraint_validation_rule.py +36 -0
  841. hare_orm-0.9.0/hare/dialects/postgresql/migration_safety/constants.py +18 -0
  842. hare_orm-0.9.0/hare/dialects/postgresql/migration_safety/foreign_key_validation_rule.py +74 -0
  843. hare_orm-0.9.0/hare/dialects/postgresql/migration_safety/index_without_concurrently_rule.py +45 -0
  844. hare_orm-0.9.0/hare/dialects/postgresql/migration_safety/postgresql_migration_safety_rules.py +59 -0
  845. hare_orm-0.9.0/hare/dialects/postgresql/migration_safety/set_not_null_rule.py +47 -0
  846. hare_orm-0.9.0/hare/dialects/postgresql/migration_safety/unique_constraint_index_rule.py +65 -0
  847. hare_orm-0.9.0/hare/dialects/postgresql/migration_safety/volatile_default_rule.py +40 -0
  848. hare_orm-0.9.0/hare/dialects/postgresql/parameters/__init__.py +1 -0
  849. hare_orm-0.9.0/hare/dialects/postgresql/parameters/constants.py +83 -0
  850. hare_orm-0.9.0/hare/dialects/postgresql/parameters/postgresql_parameters.py +86 -0
  851. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/__init__.py +23 -0
  852. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/constants.py +56 -0
  853. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/explicit_partitioning.py +97 -0
  854. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/hash_partitioning.py +50 -0
  855. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/list_partitioning.py +55 -0
  856. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/observed_partitioning.py +205 -0
  857. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/partitioning.py +280 -0
  858. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/partitions/__init__.py +1 -0
  859. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/partitions/default_partition.py +30 -0
  860. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/partitions/list_partition.py +36 -0
  861. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/partitions/partition.py +46 -0
  862. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/partitions/range_partition.py +94 -0
  863. hare_orm-0.9.0/hare/dialects/postgresql/partitioning/range_partitioning.py +60 -0
  864. hare_orm-0.9.0/hare/dialects/postgresql/postgresql_dialect.py +207 -0
  865. hare_orm-0.9.0/hare/dialects/postgresql/postgresql_introspector.py +1055 -0
  866. hare_orm-0.9.0/hare/dialects/postgresql/postgresql_table_options.py +165 -0
  867. hare_orm-0.9.0/hare/dialects/postgresql/query/__init__.py +7 -0
  868. hare_orm-0.9.0/hare/dialects/postgresql/query/declarations.py +13 -0
  869. hare_orm-0.9.0/hare/dialects/postgresql/renderers/__init__.py +7 -0
  870. hare_orm-0.9.0/hare/dialects/postgresql/renderers/constants.py +43 -0
  871. hare_orm-0.9.0/hare/dialects/postgresql/renderers/postgresql_container_renderers.py +90 -0
  872. hare_orm-0.9.0/hare/dialects/postgresql/renderers/postgresql_defaults.py +88 -0
  873. hare_orm-0.9.0/hare/dialects/postgresql/renderers/postgresql_json_renderers.py +57 -0
  874. hare_orm-0.9.0/hare/dialects/postgresql/renderers/postgresql_number_renderers.py +58 -0
  875. hare_orm-0.9.0/hare/dialects/postgresql/renderers/postgresql_renderers.py +82 -0
  876. hare_orm-0.9.0/hare/dialects/postgresql/renderers/postgresql_temporal_renderers.py +179 -0
  877. hare_orm-0.9.0/hare/dialects/postgresql/renderers/postgresql_text_renderers.py +67 -0
  878. hare_orm-0.9.0/hare/dialects/postgresql/request_query/__init__.py +8 -0
  879. hare_orm-0.9.0/hare/dialects/postgresql/request_query/declarations.py +17 -0
  880. hare_orm-0.9.0/hare/dialects/postgresql/schema/__init__.py +0 -0
  881. hare_orm-0.9.0/hare/dialects/postgresql/schema/columns/__init__.py +1 -0
  882. hare_orm-0.9.0/hare/dialects/postgresql/schema/columns/postgresql_column_backfill.py +13 -0
  883. hare_orm-0.9.0/hare/dialects/postgresql/schema/columns/postgresql_column_narrowing_check.py +42 -0
  884. hare_orm-0.9.0/hare/dialects/postgresql/schema/columns/postgresql_column_type_changes.py +129 -0
  885. hare_orm-0.9.0/hare/dialects/postgresql/schema/constants.py +384 -0
  886. hare_orm-0.9.0/hare/dialects/postgresql/schema/constraints/__init__.py +1 -0
  887. hare_orm-0.9.0/hare/dialects/postgresql/schema/constraints/postgresql_constraint_statements.py +119 -0
  888. hare_orm-0.9.0/hare/dialects/postgresql/schema/indexes/__init__.py +1 -0
  889. hare_orm-0.9.0/hare/dialects/postgresql/schema/indexes/postgresql_index_statements.py +24 -0
  890. hare_orm-0.9.0/hare/dialects/postgresql/schema/postgresql_schema_editor.py +280 -0
  891. hare_orm-0.9.0/hare/dialects/postgresql/schema/relations/__init__.py +1 -0
  892. hare_orm-0.9.0/hare/dialects/postgresql/schema/relations/postgresql_foreign_key_rebuild.py +230 -0
  893. hare_orm-0.9.0/hare/dialects/postgresql/schema/runtime_statements/__init__.py +1 -0
  894. hare_orm-0.9.0/hare/dialects/postgresql/schema/runtime_statements/postgresql_foreign_key_deferral.py +109 -0
  895. hare_orm-0.9.0/hare/dialects/postgresql/schema/runtime_statements/postgresql_table_clearing.py +80 -0
  896. hare_orm-0.9.0/hare/dialects/postgresql/schema/runtime_statements/postgresql_table_locks.py +27 -0
  897. hare_orm-0.9.0/hare/dialects/postgresql/schema/runtime_statements/postgresql_tenant_conditions.py +34 -0
  898. hare_orm-0.9.0/hare/dialects/postgresql/schema/schema_objects/__init__.py +1 -0
  899. hare_orm-0.9.0/hare/dialects/postgresql/schema/schema_objects/postgresql_database_functions.py +95 -0
  900. hare_orm-0.9.0/hare/dialects/postgresql/schema/schema_objects/postgresql_enum_types.py +130 -0
  901. hare_orm-0.9.0/hare/dialects/postgresql/schema/schema_objects/postgresql_extensions.py +35 -0
  902. hare_orm-0.9.0/hare/dialects/postgresql/schema/schema_objects/postgresql_grants.py +89 -0
  903. hare_orm-0.9.0/hare/dialects/postgresql/schema/schema_objects/postgresql_materialized_views.py +107 -0
  904. hare_orm-0.9.0/hare/dialects/postgresql/schema/schema_objects/postgresql_row_level_security_policies.py +125 -0
  905. hare_orm-0.9.0/hare/dialects/postgresql/schema/schema_objects/postgresql_schemas.py +51 -0
  906. hare_orm-0.9.0/hare/dialects/postgresql/schema/schema_objects/postgresql_sequences.py +132 -0
  907. hare_orm-0.9.0/hare/dialects/postgresql/schema/schema_objects/postgresql_views.py +53 -0
  908. hare_orm-0.9.0/hare/dialects/postgresql/schema/shadow/__init__.py +0 -0
  909. hare_orm-0.9.0/hare/dialects/postgresql/schema/shadow/postgresql_shadow_database.py +78 -0
  910. hare_orm-0.9.0/hare/dialects/postgresql/schema/tables/__init__.py +1 -0
  911. hare_orm-0.9.0/hare/dialects/postgresql/schema/tables/postgresql_table_comments.py +74 -0
  912. hare_orm-0.9.0/hare/dialects/postgresql/schema/tables/postgresql_table_partitions.py +229 -0
  913. hare_orm-0.9.0/hare/dialects/postgresql/schema/tables/postgresql_table_rebuild.py +118 -0
  914. hare_orm-0.9.0/hare/dialects/postgresql/schema/triggers/__init__.py +1 -0
  915. hare_orm-0.9.0/hare/dialects/postgresql/schema/triggers/postgresql_trigger_statements.py +141 -0
  916. hare_orm-0.9.0/hare/dialects/postgresql/search/__init__.py +8 -0
  917. hare_orm-0.9.0/hare/dialects/postgresql/search/constants.py +43 -0
  918. hare_orm-0.9.0/hare/dialects/postgresql/search/criterion/__init__.py +14 -0
  919. hare_orm-0.9.0/hare/dialects/postgresql/search/criterion/declarations.py +14 -0
  920. hare_orm-0.9.0/hare/dialects/postgresql/search/criterion/search_criterion.py +62 -0
  921. hare_orm-0.9.0/hare/dialects/postgresql/search/criterion/ts_query_function.py +20 -0
  922. hare_orm-0.9.0/hare/dialects/postgresql/search/criterion/ts_query_invert.py +32 -0
  923. hare_orm-0.9.0/hare/dialects/postgresql/search/enums.py +12 -0
  924. hare_orm-0.9.0/hare/dialects/postgresql/search/functions/__init__.py +9 -0
  925. hare_orm-0.9.0/hare/dialects/postgresql/search/functions/plain_to_ts_query.py +18 -0
  926. hare_orm-0.9.0/hare/dialects/postgresql/search/functions/to_ts_vector.py +20 -0
  927. hare_orm-0.9.0/hare/dialects/postgresql/search/lexemes/__init__.py +1 -0
  928. hare_orm-0.9.0/hare/dialects/postgresql/search/lexemes/combined_lexeme.py +35 -0
  929. hare_orm-0.9.0/hare/dialects/postgresql/search/lexemes/lexeme.py +77 -0
  930. hare_orm-0.9.0/hare/dialects/postgresql/search/lexemes/lexeme_combinable.py +59 -0
  931. hare_orm-0.9.0/hare/dialects/postgresql/search/postgresql_text_search.py +237 -0
  932. hare_orm-0.9.0/hare/dialects/postgresql/search/ts_vector_expression_reader.py +106 -0
  933. hare_orm-0.9.0/hare/dialects/postgresql/server_versions.py +26 -0
  934. hare_orm-0.9.0/hare/dialects/postgresql/spatial/__init__.py +7 -0
  935. hare_orm-0.9.0/hare/dialects/postgresql/spatial/constants.py +118 -0
  936. hare_orm-0.9.0/hare/dialects/postgresql/spatial/postgresql_spatial_renderers.py +102 -0
  937. hare_orm-0.9.0/hare/dialects/postgresql/transactions/__init__.py +1 -0
  938. hare_orm-0.9.0/hare/dialects/postgresql/transactions/constants.py +21 -0
  939. hare_orm-0.9.0/hare/dialects/postgresql/transactions/postgresql_transaction_statements.py +40 -0
  940. hare_orm-0.9.0/hare/dialects/postgresql/transactions/postgresql_two_phase_commit.py +87 -0
  941. hare_orm-0.9.0/hare/dialects/postgresql/types/__init__.py +1 -0
  942. hare_orm-0.9.0/hare/dialects/postgresql/types/postgresql_container_values.py +104 -0
  943. hare_orm-0.9.0/hare/dialects/postgresql/types/postgresql_types.py +213 -0
  944. hare_orm-0.9.0/hare/dialects/postgresql/validators/__init__.py +15 -0
  945. hare_orm-0.9.0/hare/dialects/postgresql/validators/keys_validator.py +32 -0
  946. hare_orm-0.9.0/hare/dialects/postgresql/validators/range_bound_validator.py +33 -0
  947. hare_orm-0.9.0/hare/dialects/postgresql/validators/range_max_value_validator.py +17 -0
  948. hare_orm-0.9.0/hare/dialects/postgresql/validators/range_min_value_validator.py +17 -0
  949. hare_orm-0.9.0/hare/dialects/postgresql/vectors/__init__.py +1 -0
  950. hare_orm-0.9.0/hare/dialects/postgresql/vectors/constants.py +13 -0
  951. hare_orm-0.9.0/hare/dialects/postgresql/vectors/postgresql_vector_renderers.py +40 -0
  952. hare_orm-0.9.0/hare/dialects/postgresql/vectors/postgresql_vector_values.py +94 -0
  953. hare_orm-0.9.0/hare/dialects/sqlite/__init__.py +0 -0
  954. hare_orm-0.9.0/hare/dialects/sqlite/clauses/__init__.py +1 -0
  955. hare_orm-0.9.0/hare/dialects/sqlite/clauses/constants.py +7 -0
  956. hare_orm-0.9.0/hare/dialects/sqlite/clauses/sqlite_query_clauses.py +100 -0
  957. hare_orm-0.9.0/hare/dialects/sqlite/client/__init__.py +12 -0
  958. hare_orm-0.9.0/hare/dialects/sqlite/client/constants.py +103 -0
  959. hare_orm-0.9.0/hare/dialects/sqlite/client/declarations.py +27 -0
  960. hare_orm-0.9.0/hare/dialects/sqlite/client/sqlite_client.py +507 -0
  961. hare_orm-0.9.0/hare/dialects/sqlite/client/sqlite_migration_lock.py +76 -0
  962. hare_orm-0.9.0/hare/dialects/sqlite/client/sqlite_transaction_client.py +160 -0
  963. hare_orm-0.9.0/hare/dialects/sqlite/connection/__init__.py +1 -0
  964. hare_orm-0.9.0/hare/dialects/sqlite/connection/constants.py +7 -0
  965. hare_orm-0.9.0/hare/dialects/sqlite/connection/sqlite_driver.py +59 -0
  966. hare_orm-0.9.0/hare/dialects/sqlite/constants.py +451 -0
  967. hare_orm-0.9.0/hare/dialects/sqlite/drivers/__init__.py +1 -0
  968. hare_orm-0.9.0/hare/dialects/sqlite/drivers/aiosqlite/__init__.py +1 -0
  969. hare_orm-0.9.0/hare/dialects/sqlite/drivers/aiosqlite/aiosqlite_driver.py +41 -0
  970. hare_orm-0.9.0/hare/dialects/sqlite/drivers/aiosqlite/client/__init__.py +23 -0
  971. hare_orm-0.9.0/hare/dialects/sqlite/drivers/aiosqlite/client/aiosqlite_client.py +428 -0
  972. hare_orm-0.9.0/hare/dialects/sqlite/drivers/aiosqlite/client/aiosqlite_client_with_regexp_support.py +16 -0
  973. hare_orm-0.9.0/hare/dialects/sqlite/drivers/aiosqlite/client/aiosqlite_connection_wrapper.py +62 -0
  974. hare_orm-0.9.0/hare/dialects/sqlite/drivers/aiosqlite/client/aiosqlite_statement_timeout_connection_wrapper.py +53 -0
  975. hare_orm-0.9.0/hare/dialects/sqlite/drivers/aiosqlite/client/aiosqlite_transaction_client.py +176 -0
  976. hare_orm-0.9.0/hare/dialects/sqlite/drivers/aiosqlite/client/aiosqlite_transaction_connection_wrapper.py +23 -0
  977. hare_orm-0.9.0/hare/dialects/sqlite/drivers/aiosqlite/constants.py +11 -0
  978. hare_orm-0.9.0/hare/dialects/sqlite/drivers/constants.py +19 -0
  979. hare_orm-0.9.0/hare/dialects/sqlite/enums.py +37 -0
  980. hare_orm-0.9.0/hare/dialects/sqlite/exceptions.py +10 -0
  981. hare_orm-0.9.0/hare/dialects/sqlite/functions/__init__.py +0 -0
  982. hare_orm-0.9.0/hare/dialects/sqlite/functions/comparison/__init__.py +11 -0
  983. hare_orm-0.9.0/hare/dialects/sqlite/functions/comparison/sqlite_cast.py +204 -0
  984. hare_orm-0.9.0/hare/dialects/sqlite/functions/comparison/sqlite_greatest_least.py +63 -0
  985. hare_orm-0.9.0/hare/dialects/sqlite/functions/constants.py +102 -0
  986. hare_orm-0.9.0/hare/dialects/sqlite/functions/datetime/__init__.py +13 -0
  987. hare_orm-0.9.0/hare/dialects/sqlite/functions/datetime/date_truncation.py +115 -0
  988. hare_orm-0.9.0/hare/dialects/sqlite/functions/datetime/sqlite_date_part_extraction.py +77 -0
  989. hare_orm-0.9.0/hare/dialects/sqlite/functions/datetime/sqlite_date_timestamp.py +48 -0
  990. hare_orm-0.9.0/hare/dialects/sqlite/functions/datetime/sqlite_local_now.py +54 -0
  991. hare_orm-0.9.0/hare/dialects/sqlite/functions/datetime/temporal_arithmetic_functions.py +147 -0
  992. hare_orm-0.9.0/hare/dialects/sqlite/functions/decimal/__init__.py +1 -0
  993. hare_orm-0.9.0/hare/dialects/sqlite/functions/decimal/sqlite_decimal_arithmetic.py +152 -0
  994. hare_orm-0.9.0/hare/dialects/sqlite/functions/decimal/sqlite_decimal_average.py +23 -0
  995. hare_orm-0.9.0/hare/dialects/sqlite/functions/decimal/sqlite_decimal_collation.py +125 -0
  996. hare_orm-0.9.0/hare/dialects/sqlite/functions/decimal/sqlite_decimal_comparand.py +23 -0
  997. hare_orm-0.9.0/hare/dialects/sqlite/functions/decimal/sqlite_decimal_operation.py +33 -0
  998. hare_orm-0.9.0/hare/dialects/sqlite/functions/decimal/sqlite_decimal_round.py +50 -0
  999. hare_orm-0.9.0/hare/dialects/sqlite/functions/decimal/sqlite_decimal_storage.py +77 -0
  1000. hare_orm-0.9.0/hare/dialects/sqlite/functions/decimal/sqlite_decimal_sum.py +62 -0
  1001. hare_orm-0.9.0/hare/dialects/sqlite/functions/decimal/sqlite_decimal_text.py +22 -0
  1002. hare_orm-0.9.0/hare/dialects/sqlite/functions/decimal/sqlite_stored_decimal.py +29 -0
  1003. hare_orm-0.9.0/hare/dialects/sqlite/functions/json/__init__.py +9 -0
  1004. hare_orm-0.9.0/hare/dialects/sqlite/functions/json/sqlite_json_datetime.py +124 -0
  1005. hare_orm-0.9.0/hare/dialects/sqlite/functions/json/sqlite_json_path.py +116 -0
  1006. hare_orm-0.9.0/hare/dialects/sqlite/functions/regex/__init__.py +5 -0
  1007. hare_orm-0.9.0/hare/dialects/sqlite/functions/regex/sqlite_posix_regex.py +102 -0
  1008. hare_orm-0.9.0/hare/dialects/sqlite/functions/regex/sqlite_regex_criterion.py +18 -0
  1009. hare_orm-0.9.0/hare/dialects/sqlite/functions/sqlite_checked_integer.py +15 -0
  1010. hare_orm-0.9.0/hare/dialects/sqlite/functions/sqlite_collation.py +51 -0
  1011. hare_orm-0.9.0/hare/dialects/sqlite/functions/sqlite_connection_function.py +17 -0
  1012. hare_orm-0.9.0/hare/dialects/sqlite/functions/sqlite_function_errors.py +45 -0
  1013. hare_orm-0.9.0/hare/dialects/sqlite/functions/sqlite_integer_range.py +48 -0
  1014. hare_orm-0.9.0/hare/dialects/sqlite/functions/sqlite_math_functions.py +233 -0
  1015. hare_orm-0.9.0/hare/dialects/sqlite/functions/sqlite_native_functions.py +12 -0
  1016. hare_orm-0.9.0/hare/dialects/sqlite/functions/sqlite_sort_keys.py +58 -0
  1017. hare_orm-0.9.0/hare/dialects/sqlite/functions/statistics/__init__.py +19 -0
  1018. hare_orm-0.9.0/hare/dialects/sqlite/functions/statistics/declarations.py +31 -0
  1019. hare_orm-0.9.0/hare/dialects/sqlite/functions/statistics/sqlite_statistic.py +118 -0
  1020. hare_orm-0.9.0/hare/dialects/sqlite/functions/statistics/sqlite_statistics.py +51 -0
  1021. hare_orm-0.9.0/hare/dialects/sqlite/functions/text/__init__.py +1 -0
  1022. hare_orm-0.9.0/hare/dialects/sqlite/functions/text/sqlite_text_functions.py +140 -0
  1023. hare_orm-0.9.0/hare/dialects/sqlite/indexes/__init__.py +7 -0
  1024. hare_orm-0.9.0/hare/dialects/sqlite/indexes/constants.py +45 -0
  1025. hare_orm-0.9.0/hare/dialects/sqlite/indexes/full_text_index.py +228 -0
  1026. hare_orm-0.9.0/hare/dialects/sqlite/indexes/separate_table_index.py +105 -0
  1027. hare_orm-0.9.0/hare/dialects/sqlite/indexes/spatialite_index.py +228 -0
  1028. hare_orm-0.9.0/hare/dialects/sqlite/literals/__init__.py +1 -0
  1029. hare_orm-0.9.0/hare/dialects/sqlite/literals/sqlite_literals.py +51 -0
  1030. hare_orm-0.9.0/hare/dialects/sqlite/lookups/__init__.py +0 -0
  1031. hare_orm-0.9.0/hare/dialects/sqlite/lookups/constants.py +18 -0
  1032. hare_orm-0.9.0/hare/dialects/sqlite/lookups/in_list/__init__.py +11 -0
  1033. hare_orm-0.9.0/hare/dialects/sqlite/lookups/in_list/json_array_row_values.py +39 -0
  1034. hare_orm-0.9.0/hare/dialects/sqlite/lookups/in_list/json_array_values.py +116 -0
  1035. hare_orm-0.9.0/hare/dialects/sqlite/lookups/in_list/sqlite_large_in_list.py +96 -0
  1036. hare_orm-0.9.0/hare/dialects/sqlite/lookups/json/__init__.py +1 -0
  1037. hare_orm-0.9.0/hare/dialects/sqlite/lookups/json/sqlite_json_filter_guards.py +128 -0
  1038. hare_orm-0.9.0/hare/dialects/sqlite/lookups/json/sqlite_json_lookups.py +51 -0
  1039. hare_orm-0.9.0/hare/dialects/sqlite/lookups/json/sqlite_json_path_lookups.py +56 -0
  1040. hare_orm-0.9.0/hare/dialects/sqlite/lookups/json/sqlite_json_type_criterion.py +13 -0
  1041. hare_orm-0.9.0/hare/dialects/sqlite/lookups/sqlite_filter_operators.py +89 -0
  1042. hare_orm-0.9.0/hare/dialects/sqlite/migration_safety/__init__.py +9 -0
  1043. hare_orm-0.9.0/hare/dialects/sqlite/migration_safety/sqlite_migration_safety_rules.py +32 -0
  1044. hare_orm-0.9.0/hare/dialects/sqlite/parameters/__init__.py +1 -0
  1045. hare_orm-0.9.0/hare/dialects/sqlite/parameters/constants.py +11 -0
  1046. hare_orm-0.9.0/hare/dialects/sqlite/parameters/sqlite_parameter_adapters.py +61 -0
  1047. hare_orm-0.9.0/hare/dialects/sqlite/parameters/sqlite_parameters.py +27 -0
  1048. hare_orm-0.9.0/hare/dialects/sqlite/query/__init__.py +7 -0
  1049. hare_orm-0.9.0/hare/dialects/sqlite/query/declarations.py +13 -0
  1050. hare_orm-0.9.0/hare/dialects/sqlite/renderers/__init__.py +7 -0
  1051. hare_orm-0.9.0/hare/dialects/sqlite/renderers/constants.py +43 -0
  1052. hare_orm-0.9.0/hare/dialects/sqlite/renderers/sqlite_defaults.py +84 -0
  1053. hare_orm-0.9.0/hare/dialects/sqlite/renderers/sqlite_json_renderers.py +142 -0
  1054. hare_orm-0.9.0/hare/dialects/sqlite/renderers/sqlite_number_renderers.py +137 -0
  1055. hare_orm-0.9.0/hare/dialects/sqlite/renderers/sqlite_renderers.py +235 -0
  1056. hare_orm-0.9.0/hare/dialects/sqlite/renderers/sqlite_temporal_renderers.py +138 -0
  1057. hare_orm-0.9.0/hare/dialects/sqlite/renderers/sqlite_text_renderers.py +60 -0
  1058. hare_orm-0.9.0/hare/dialects/sqlite/request_query/__init__.py +8 -0
  1059. hare_orm-0.9.0/hare/dialects/sqlite/request_query/declarations.py +16 -0
  1060. hare_orm-0.9.0/hare/dialects/sqlite/schema/__init__.py +0 -0
  1061. hare_orm-0.9.0/hare/dialects/sqlite/schema/columns/__init__.py +1 -0
  1062. hare_orm-0.9.0/hare/dialects/sqlite/schema/columns/sqlite_column_backfill.py +29 -0
  1063. hare_orm-0.9.0/hare/dialects/sqlite/schema/columns/sqlite_column_conversion_check.py +181 -0
  1064. hare_orm-0.9.0/hare/dialects/sqlite/schema/columns/sqlite_column_narrowing_check.py +24 -0
  1065. hare_orm-0.9.0/hare/dialects/sqlite/schema/columns/sqlite_column_type_changes.py +148 -0
  1066. hare_orm-0.9.0/hare/dialects/sqlite/schema/constants.py +108 -0
  1067. hare_orm-0.9.0/hare/dialects/sqlite/schema/constraints/__init__.py +1 -0
  1068. hare_orm-0.9.0/hare/dialects/sqlite/schema/constraints/sqlite_constraint_statements.py +32 -0
  1069. hare_orm-0.9.0/hare/dialects/sqlite/schema/indexes/__init__.py +1 -0
  1070. hare_orm-0.9.0/hare/dialects/sqlite/schema/indexes/sqlite_generated_index_names.py +61 -0
  1071. hare_orm-0.9.0/hare/dialects/sqlite/schema/indexes/sqlite_index_statements.py +78 -0
  1072. hare_orm-0.9.0/hare/dialects/sqlite/schema/relations/__init__.py +1 -0
  1073. hare_orm-0.9.0/hare/dialects/sqlite/schema/relations/sqlite_foreign_key_rebuild.py +100 -0
  1074. hare_orm-0.9.0/hare/dialects/sqlite/schema/runtime_statements/__init__.py +1 -0
  1075. hare_orm-0.9.0/hare/dialects/sqlite/schema/runtime_statements/sqlite_foreign_key_deferral.py +87 -0
  1076. hare_orm-0.9.0/hare/dialects/sqlite/schema/runtime_statements/sqlite_table_clearing.py +39 -0
  1077. hare_orm-0.9.0/hare/dialects/sqlite/schema/runtime_statements/sqlite_tenant_conditions.py +21 -0
  1078. hare_orm-0.9.0/hare/dialects/sqlite/schema/shadow/__init__.py +0 -0
  1079. hare_orm-0.9.0/hare/dialects/sqlite/schema/shadow/sqlite_shadow_database.py +36 -0
  1080. hare_orm-0.9.0/hare/dialects/sqlite/schema/sqlite_schema_editor.py +492 -0
  1081. hare_orm-0.9.0/hare/dialects/sqlite/schema/tables/__init__.py +1 -0
  1082. hare_orm-0.9.0/hare/dialects/sqlite/schema/tables/sqlite_table_comments.py +32 -0
  1083. hare_orm-0.9.0/hare/dialects/sqlite/schema/tables/sqlite_table_rebuild.py +164 -0
  1084. hare_orm-0.9.0/hare/dialects/sqlite/schema/triggers/__init__.py +1 -0
  1085. hare_orm-0.9.0/hare/dialects/sqlite/schema/triggers/sqlite_trigger_statements.py +70 -0
  1086. hare_orm-0.9.0/hare/dialects/sqlite/search/__init__.py +8 -0
  1087. hare_orm-0.9.0/hare/dialects/sqlite/search/constants.py +33 -0
  1088. hare_orm-0.9.0/hare/dialects/sqlite/search/sqlite_full_text_query.py +137 -0
  1089. hare_orm-0.9.0/hare/dialects/sqlite/search/sqlite_search_renderers.py +33 -0
  1090. hare_orm-0.9.0/hare/dialects/sqlite/search/sqlite_text_search.py +308 -0
  1091. hare_orm-0.9.0/hare/dialects/sqlite/search/terms/__init__.py +1 -0
  1092. hare_orm-0.9.0/hare/dialects/sqlite/search/terms/full_text_headline.py +56 -0
  1093. hare_orm-0.9.0/hare/dialects/sqlite/search/terms/full_text_match.py +73 -0
  1094. hare_orm-0.9.0/hare/dialects/sqlite/search/terms/full_text_query.py +42 -0
  1095. hare_orm-0.9.0/hare/dialects/sqlite/search/terms/full_text_query_combination.py +82 -0
  1096. hare_orm-0.9.0/hare/dialects/sqlite/search/terms/full_text_rank.py +34 -0
  1097. hare_orm-0.9.0/hare/dialects/sqlite/search/terms/full_text_row_value.py +104 -0
  1098. hare_orm-0.9.0/hare/dialects/sqlite/server_versions.py +17 -0
  1099. hare_orm-0.9.0/hare/dialects/sqlite/spatial/__init__.py +0 -0
  1100. hare_orm-0.9.0/hare/dialects/sqlite/spatial/constants.py +173 -0
  1101. hare_orm-0.9.0/hare/dialects/sqlite/spatial/spatialite_blob_reader.py +166 -0
  1102. hare_orm-0.9.0/hare/dialects/sqlite/spatial/spatialite_blob_writer.py +105 -0
  1103. hare_orm-0.9.0/hare/dialects/sqlite/spatial/sqlite_geometry_values.py +75 -0
  1104. hare_orm-0.9.0/hare/dialects/sqlite/spatial/sqlite_spatial_extension.py +116 -0
  1105. hare_orm-0.9.0/hare/dialects/sqlite/spatial/sqlite_spatial_renderers.py +202 -0
  1106. hare_orm-0.9.0/hare/dialects/sqlite/sqlite_dialect.py +138 -0
  1107. hare_orm-0.9.0/hare/dialects/sqlite/sqlite_introspector.py +1025 -0
  1108. hare_orm-0.9.0/hare/dialects/sqlite/sqlite_table_options.py +92 -0
  1109. hare_orm-0.9.0/hare/dialects/sqlite/table_option_constants.py +15 -0
  1110. hare_orm-0.9.0/hare/dialects/sqlite/transactions/__init__.py +1 -0
  1111. hare_orm-0.9.0/hare/dialects/sqlite/transactions/constants.py +10 -0
  1112. hare_orm-0.9.0/hare/dialects/sqlite/transactions/sqlite_transaction_statements.py +19 -0
  1113. hare_orm-0.9.0/hare/dialects/sqlite/types/__init__.py +1 -0
  1114. hare_orm-0.9.0/hare/dialects/sqlite/types/sqlite_types.py +87 -0
  1115. hare_orm-0.9.0/hare/dialects/sqlite/vectors/__init__.py +1 -0
  1116. hare_orm-0.9.0/hare/dialects/sqlite/vectors/constants.py +16 -0
  1117. hare_orm-0.9.0/hare/dialects/sqlite/vectors/sqlite_vector_extension.py +112 -0
  1118. hare_orm-0.9.0/hare/dialects/sqlite/vectors/sqlite_vector_renderers.py +55 -0
  1119. hare_orm-0.9.0/hare/dialects/sqlite/vectors/sqlite_vector_values.py +113 -0
  1120. hare_orm-0.9.0/hare/exceptions.py +397 -0
  1121. hare_orm-0.9.0/hare/fields/__init__.py +133 -0
  1122. hare_orm-0.9.0/hare/fields/composite_primary_key.py +40 -0
  1123. hare_orm-0.9.0/hare/fields/constants.py +120 -0
  1124. hare_orm-0.9.0/hare/fields/data/__init__.py +3 -0
  1125. hare_orm-0.9.0/hare/fields/data/binary_field.py +62 -0
  1126. hare_orm-0.9.0/hare/fields/data/boolean_field.py +57 -0
  1127. hare_orm-0.9.0/hare/fields/data/choices/__init__.py +16 -0
  1128. hare_orm-0.9.0/hare/fields/data/choices/char_enum_field.py +27 -0
  1129. hare_orm-0.9.0/hare/fields/data/choices/char_enum_field_instance.py +117 -0
  1130. hare_orm-0.9.0/hare/fields/data/choices/int_enum_field.py +23 -0
  1131. hare_orm-0.9.0/hare/fields/data/choices/int_enum_field_instance.py +102 -0
  1132. hare_orm-0.9.0/hare/fields/data/constants.py +122 -0
  1133. hare_orm-0.9.0/hare/fields/data/containers/__init__.py +10 -0
  1134. hare_orm-0.9.0/hare/fields/data/containers/array_field.py +152 -0
  1135. hare_orm-0.9.0/hare/fields/data/containers/constants.py +25 -0
  1136. hare_orm-0.9.0/hare/fields/data/containers/container_field.py +342 -0
  1137. hare_orm-0.9.0/hare/fields/data/containers/declarations.py +13 -0
  1138. hare_orm-0.9.0/hare/fields/data/containers/map_field.py +165 -0
  1139. hare_orm-0.9.0/hare/fields/data/containers/nested_field.py +47 -0
  1140. hare_orm-0.9.0/hare/fields/data/containers/tuple_field.py +177 -0
  1141. hare_orm-0.9.0/hare/fields/data/json/__init__.py +7 -0
  1142. hare_orm-0.9.0/hare/fields/data/json/json_codec.py +152 -0
  1143. hare_orm-0.9.0/hare/fields/data/json/json_field.py +387 -0
  1144. hare_orm-0.9.0/hare/fields/data/json/json_path_field.py +77 -0
  1145. hare_orm-0.9.0/hare/fields/data/json/json_text_field.py +13 -0
  1146. hare_orm-0.9.0/hare/fields/data/network/__init__.py +8 -0
  1147. hare_orm-0.9.0/hare/fields/data/network/constants.py +6 -0
  1148. hare_orm-0.9.0/hare/fields/data/network/ip_address_field.py +109 -0
  1149. hare_orm-0.9.0/hare/fields/data/network/ipv4_address_field.py +26 -0
  1150. hare_orm-0.9.0/hare/fields/data/numeric/__init__.py +23 -0
  1151. hare_orm-0.9.0/hare/fields/data/numeric/big_int_field.py +22 -0
  1152. hare_orm-0.9.0/hare/fields/data/numeric/decimal_field.py +187 -0
  1153. hare_orm-0.9.0/hare/fields/data/numeric/float_field.py +83 -0
  1154. hare_orm-0.9.0/hare/fields/data/numeric/int_field.py +239 -0
  1155. hare_orm-0.9.0/hare/fields/data/numeric/positive_big_int_field.py +19 -0
  1156. hare_orm-0.9.0/hare/fields/data/numeric/positive_int_field.py +19 -0
  1157. hare_orm-0.9.0/hare/fields/data/numeric/positive_small_int_field.py +19 -0
  1158. hare_orm-0.9.0/hare/fields/data/numeric/small_int_field.py +22 -0
  1159. hare_orm-0.9.0/hare/fields/data/temporal/__init__.py +11 -0
  1160. hare_orm-0.9.0/hare/fields/data/temporal/date_field.py +87 -0
  1161. hare_orm-0.9.0/hare/fields/data/temporal/datetime_field.py +384 -0
  1162. hare_orm-0.9.0/hare/fields/data/temporal/parse_datetime.py +17 -0
  1163. hare_orm-0.9.0/hare/fields/data/temporal/temporal_values.py +119 -0
  1164. hare_orm-0.9.0/hare/fields/data/temporal/time_delta_field.py +111 -0
  1165. hare_orm-0.9.0/hare/fields/data/temporal/time_field.py +193 -0
  1166. hare_orm-0.9.0/hare/fields/data/text/__init__.py +20 -0
  1167. hare_orm-0.9.0/hare/fields/data/text/char_field.py +78 -0
  1168. hare_orm-0.9.0/hare/fields/data/text/email_field.py +76 -0
  1169. hare_orm-0.9.0/hare/fields/data/text/phone_field.py +114 -0
  1170. hare_orm-0.9.0/hare/fields/data/text/slug_field.py +52 -0
  1171. hare_orm-0.9.0/hare/fields/data/text/text_field.py +33 -0
  1172. hare_orm-0.9.0/hare/fields/data/text/text_values.py +39 -0
  1173. hare_orm-0.9.0/hare/fields/data/text/url_field.py +62 -0
  1174. hare_orm-0.9.0/hare/fields/data/uuid_field.py +82 -0
  1175. hare_orm-0.9.0/hare/fields/database_default.py +28 -0
  1176. hare_orm-0.9.0/hare/fields/db_default_not_set.py +36 -0
  1177. hare_orm-0.9.0/hare/fields/db_defaults/__init__.py +13 -0
  1178. hare_orm-0.9.0/hare/fields/db_defaults/now.py +108 -0
  1179. hare_orm-0.9.0/hare/fields/db_defaults/random_hex.py +30 -0
  1180. hare_orm-0.9.0/hare/fields/db_defaults/sql_default.py +95 -0
  1181. hare_orm-0.9.0/hare/fields/db_defaults/uuid_v7.py +36 -0
  1182. hare_orm-0.9.0/hare/fields/encrypted/__init__.py +7 -0
  1183. hare_orm-0.9.0/hare/fields/encrypted/blind_index_field.py +49 -0
  1184. hare_orm-0.9.0/hare/fields/encrypted/constants.py +41 -0
  1185. hare_orm-0.9.0/hare/fields/encrypted/encrypted_field_base.py +143 -0
  1186. hare_orm-0.9.0/hare/fields/encrypted/encrypted_json_field.py +238 -0
  1187. hare_orm-0.9.0/hare/fields/encrypted/encrypted_text_field.py +130 -0
  1188. hare_orm-0.9.0/hare/fields/encrypted/field_encryption.py +267 -0
  1189. hare_orm-0.9.0/hare/fields/enums.py +91 -0
  1190. hare_orm-0.9.0/hare/fields/field.py +1231 -0
  1191. hare_orm-0.9.0/hare/fields/field_meta.py +16 -0
  1192. hare_orm-0.9.0/hare/fields/generated_field.py +211 -0
  1193. hare_orm-0.9.0/hare/fields/narrowing/__init__.py +7 -0
  1194. hare_orm-0.9.0/hare/fields/narrowing/decimal_digits_limit.py +11 -0
  1195. hare_orm-0.9.0/hare/fields/narrowing/enum_values_limit.py +32 -0
  1196. hare_orm-0.9.0/hare/fields/narrowing/integer_range_limit.py +13 -0
  1197. hare_orm-0.9.0/hare/fields/narrowing/narrowing_limit.py +8 -0
  1198. hare_orm-0.9.0/hare/fields/narrowing/text_length_limit.py +13 -0
  1199. hare_orm-0.9.0/hare/fields/registrations/__init__.py +1 -0
  1200. hare_orm-0.9.0/hare/fields/registrations/registered_lookup.py +29 -0
  1201. hare_orm-0.9.0/hare/fields/registrations/registered_transform.py +22 -0
  1202. hare_orm-0.9.0/hare/fields/relations/__init__.py +3 -0
  1203. hare_orm-0.9.0/hare/fields/relations/constants.py +10 -0
  1204. hare_orm-0.9.0/hare/fields/relations/declarations.py +5 -0
  1205. hare_orm-0.9.0/hare/fields/relations/fields/__init__.py +35 -0
  1206. hare_orm-0.9.0/hare/fields/relations/fields/backward_foreign_key_relation.py +46 -0
  1207. hare_orm-0.9.0/hare/fields/relations/fields/declarations.py +21 -0
  1208. hare_orm-0.9.0/hare/fields/relations/fields/foreign_key_field.py +89 -0
  1209. hare_orm-0.9.0/hare/fields/relations/fields/foreign_key_field_instance.py +124 -0
  1210. hare_orm-0.9.0/hare/fields/relations/fields/generic_foreign_key_field.py +56 -0
  1211. hare_orm-0.9.0/hare/fields/relations/fields/generic_foreign_key_field_instance.py +455 -0
  1212. hare_orm-0.9.0/hare/fields/relations/fields/many_to_many_field.py +60 -0
  1213. hare_orm-0.9.0/hare/fields/relations/fields/many_to_many_field_instance.py +126 -0
  1214. hare_orm-0.9.0/hare/fields/relations/fields/one_to_one_field.py +89 -0
  1215. hare_orm-0.9.0/hare/fields/relations/fields/one_to_one_field_instance.py +45 -0
  1216. hare_orm-0.9.0/hare/fields/relations/fields/relational_field.py +153 -0
  1217. hare_orm-0.9.0/hare/fields/relations/inherited_relation.py +30 -0
  1218. hare_orm-0.9.0/hare/fields/relations/relation_accessors.py +271 -0
  1219. hare_orm-0.9.0/hare/fields/relations/relation_values.py +106 -0
  1220. hare_orm-0.9.0/hare/fields/relations/swappable_model_reference.py +60 -0
  1221. hare_orm-0.9.0/hare/fields/validators/__init__.py +63 -0
  1222. hare_orm-0.9.0/hare/fields/validators/exceptions.py +52 -0
  1223. hare_orm-0.9.0/hare/fields/validators/formats/__init__.py +1 -0
  1224. hare_orm-0.9.0/hare/fields/validators/formats/comma_separated_integer_list_validator.py +22 -0
  1225. hare_orm-0.9.0/hare/fields/validators/formats/domain_name_validator.py +74 -0
  1226. hare_orm-0.9.0/hare/fields/validators/formats/e164_phone_validator.py +32 -0
  1227. hare_orm-0.9.0/hare/fields/validators/formats/email_validator.py +87 -0
  1228. hare_orm-0.9.0/hare/fields/validators/formats/ipv46_validator.py +28 -0
  1229. hare_orm-0.9.0/hare/fields/validators/formats/ipv4_validator.py +23 -0
  1230. hare_orm-0.9.0/hare/fields/validators/formats/ipv6_validator.py +23 -0
  1231. hare_orm-0.9.0/hare/fields/validators/formats/regex_validator.py +38 -0
  1232. hare_orm-0.9.0/hare/fields/validators/formats/slug_validator.py +36 -0
  1233. hare_orm-0.9.0/hare/fields/validators/formats/url_validator.py +95 -0
  1234. hare_orm-0.9.0/hare/fields/validators/limits/__init__.py +1 -0
  1235. hare_orm-0.9.0/hare/fields/validators/limits/length_validator.py +17 -0
  1236. hare_orm-0.9.0/hare/fields/validators/limits/max_digits_validator.py +58 -0
  1237. hare_orm-0.9.0/hare/fields/validators/limits/max_length_validator.py +20 -0
  1238. hare_orm-0.9.0/hare/fields/validators/limits/max_value_validator.py +19 -0
  1239. hare_orm-0.9.0/hare/fields/validators/limits/min_length_validator.py +20 -0
  1240. hare_orm-0.9.0/hare/fields/validators/limits/min_value_validator.py +19 -0
  1241. hare_orm-0.9.0/hare/fields/validators/limits/numeric_validator.py +19 -0
  1242. hare_orm-0.9.0/hare/fields/validators/validator.py +34 -0
  1243. hare_orm-0.9.0/hare/gis/__init__.py +52 -0
  1244. hare_orm-0.9.0/hare/gis/aggregates/__init__.py +5 -0
  1245. hare_orm-0.9.0/hare/gis/aggregates/declarations.py +42 -0
  1246. hare_orm-0.9.0/hare/gis/aggregates/spatial_aggregate.py +57 -0
  1247. hare_orm-0.9.0/hare/gis/constants.py +126 -0
  1248. hare_orm-0.9.0/hare/gis/enums.py +74 -0
  1249. hare_orm-0.9.0/hare/gis/fields/__init__.py +23 -0
  1250. hare_orm-0.9.0/hare/gis/fields/declarations.py +61 -0
  1251. hare_orm-0.9.0/hare/gis/fields/extent_field.py +60 -0
  1252. hare_orm-0.9.0/hare/gis/fields/geometry_field.py +239 -0
  1253. hare_orm-0.9.0/hare/gis/fields/made_line_field.py +86 -0
  1254. hare_orm-0.9.0/hare/gis/functions/__init__.py +53 -0
  1255. hare_orm-0.9.0/hare/gis/functions/buffer.py +29 -0
  1256. hare_orm-0.9.0/hare/gis/functions/constants.py +17 -0
  1257. hare_orm-0.9.0/hare/gis/functions/declarations.py +188 -0
  1258. hare_orm-0.9.0/hare/gis/functions/simplify.py +29 -0
  1259. hare_orm-0.9.0/hare/gis/functions/spatial_function.py +115 -0
  1260. hare_orm-0.9.0/hare/gis/functions/transform.py +41 -0
  1261. hare_orm-0.9.0/hare/gis/geometries/__init__.py +19 -0
  1262. hare_orm-0.9.0/hare/gis/geometries/declarations.py +38 -0
  1263. hare_orm-0.9.0/hare/gis/geometries/geometry.py +297 -0
  1264. hare_orm-0.9.0/hare/gis/geometries/geometry_collection.py +62 -0
  1265. hare_orm-0.9.0/hare/gis/geometries/line_string.py +46 -0
  1266. hare_orm-0.9.0/hare/gis/geometries/multi_geometry.py +75 -0
  1267. hare_orm-0.9.0/hare/gis/geometries/point.py +65 -0
  1268. hare_orm-0.9.0/hare/gis/geometries/polygon.py +89 -0
  1269. hare_orm-0.9.0/hare/gis/lookups/__init__.py +3 -0
  1270. hare_orm-0.9.0/hare/gis/lookups/spatial_field_lookups.py +219 -0
  1271. hare_orm-0.9.0/hare/gis/readers/__init__.py +11 -0
  1272. hare_orm-0.9.0/hare/gis/readers/constants.py +15 -0
  1273. hare_orm-0.9.0/hare/gis/readers/ewkb_reader.py +148 -0
  1274. hare_orm-0.9.0/hare/gis/readers/geo_json_reader.py +54 -0
  1275. hare_orm-0.9.0/hare/gis/readers/wkt_reader.py +226 -0
  1276. hare_orm-0.9.0/hare/gis/spatial_features.py +57 -0
  1277. hare_orm-0.9.0/hare/gis/terms/__init__.py +11 -0
  1278. hare_orm-0.9.0/hare/gis/terms/geometry_value.py +33 -0
  1279. hare_orm-0.9.0/hare/gis/terms/spatial_aggregate_function.py +30 -0
  1280. hare_orm-0.9.0/hare/gis/terms/spatial_function_term.py +39 -0
  1281. hare_orm-0.9.0/hare/gis/terms/spatial_relation_term.py +39 -0
  1282. hare_orm-0.9.0/hare/health/__init__.py +19 -0
  1283. hare_orm-0.9.0/hare/health/constants.py +32 -0
  1284. hare_orm-0.9.0/hare/health/criteria/__init__.py +27 -0
  1285. hare_orm-0.9.0/hare/health/criteria/acquire_wait_time.py +35 -0
  1286. hare_orm-0.9.0/hare/health/criteria/all_of.py +38 -0
  1287. hare_orm-0.9.0/hare/health/criteria/declarations.py +33 -0
  1288. hare_orm-0.9.0/hare/health/criteria/health_criterion.py +87 -0
  1289. hare_orm-0.9.0/hare/health/criteria/ping_failed.py +27 -0
  1290. hare_orm-0.9.0/hare/health/criteria/ping_latency.py +29 -0
  1291. hare_orm-0.9.0/hare/health/criteria/pool_count_criterion.py +37 -0
  1292. hare_orm-0.9.0/hare/health/criteria/pool_saturation.py +35 -0
  1293. hare_orm-0.9.0/hare/health/criteria/waiting_requests.py +33 -0
  1294. hare_orm-0.9.0/hare/health/declarations.py +83 -0
  1295. hare_orm-0.9.0/hare/health/enums.py +14 -0
  1296. hare_orm-0.9.0/hare/health/health_check.py +240 -0
  1297. hare_orm-0.9.0/hare/health/health_report.py +65 -0
  1298. hare_orm-0.9.0/hare/inspectdb/__init__.py +38 -0
  1299. hare_orm-0.9.0/hare/inspectdb/constants.py +60 -0
  1300. hare_orm-0.9.0/hare/inspectdb/exceptions.py +72 -0
  1301. hare_orm-0.9.0/hare/inspectdb/generation/__init__.py +1 -0
  1302. hare_orm-0.9.0/hare/inspectdb/generation/column_type_mapper.py +113 -0
  1303. hare_orm-0.9.0/hare/inspectdb/generation/declarations.py +34 -0
  1304. hare_orm-0.9.0/hare/inspectdb/generation/inspected_model.py +35 -0
  1305. hare_orm-0.9.0/hare/inspectdb/generation/inspected_model_builder.py +1174 -0
  1306. hare_orm-0.9.0/hare/inspectdb/generation/many_to_many_tables.py +91 -0
  1307. hare_orm-0.9.0/hare/inspectdb/generation/model_factory.py +88 -0
  1308. hare_orm-0.9.0/hare/inspectdb/generation/model_naming.py +75 -0
  1309. hare_orm-0.9.0/hare/inspectdb/generation/model_source_builder.py +148 -0
  1310. hare_orm-0.9.0/hare/inspectdb/introspection/__init__.py +28 -0
  1311. hare_orm-0.9.0/hare/inspectdb/introspection/column_info.py +67 -0
  1312. hare_orm-0.9.0/hare/inspectdb/introspection/composite_foreign_key_info.py +27 -0
  1313. hare_orm-0.9.0/hare/inspectdb/introspection/database_catalog.py +252 -0
  1314. hare_orm-0.9.0/hare/inspectdb/introspection/enums.py +26 -0
  1315. hare_orm-0.9.0/hare/inspectdb/introspection/foreign_key_info.py +25 -0
  1316. hare_orm-0.9.0/hare/inspectdb/introspection/index_info.py +265 -0
  1317. hare_orm-0.9.0/hare/inspectdb/introspection/inspected_field_specification.py +47 -0
  1318. hare_orm-0.9.0/hare/inspectdb/introspection/schema_introspector.py +564 -0
  1319. hare_orm-0.9.0/hare/inspectdb/introspection/schema_part.py +103 -0
  1320. hare_orm-0.9.0/hare/inspectdb/introspection/table_info.py +112 -0
  1321. hare_orm-0.9.0/hare/inspectdb/introspection/table_parts.py +101 -0
  1322. hare_orm-0.9.0/hare/inspectdb/schema_inspector.py +224 -0
  1323. hare_orm-0.9.0/hare/instrumentation/__init__.py +31 -0
  1324. hare_orm-0.9.0/hare/instrumentation/capture/__init__.py +9 -0
  1325. hare_orm-0.9.0/hare/instrumentation/capture/capture_needs.py +54 -0
  1326. hare_orm-0.9.0/hare/instrumentation/capture/captured_change.py +38 -0
  1327. hare_orm-0.9.0/hare/instrumentation/capture/captured_write.py +223 -0
  1328. hare_orm-0.9.0/hare/instrumentation/capture/change_capturing.py +496 -0
  1329. hare_orm-0.9.0/hare/instrumentation/capture/change_sink.py +57 -0
  1330. hare_orm-0.9.0/hare/instrumentation/change_events.py +246 -0
  1331. hare_orm-0.9.0/hare/instrumentation/constants.py +41 -0
  1332. hare_orm-0.9.0/hare/instrumentation/declarations.py +196 -0
  1333. hare_orm-0.9.0/hare/instrumentation/enums.py +35 -0
  1334. hare_orm-0.9.0/hare/instrumentation/observers/__init__.py +1 -0
  1335. hare_orm-0.9.0/hare/instrumentation/observers/observer.py +56 -0
  1336. hare_orm-0.9.0/hare/instrumentation/observers/observer_dispatch.py +197 -0
  1337. hare_orm-0.9.0/hare/instrumentation/observers/observer_set.py +138 -0
  1338. hare_orm-0.9.0/hare/instrumentation/observers/observers.py +368 -0
  1339. hare_orm-0.9.0/hare/instrumentation/pools/__init__.py +1 -0
  1340. hare_orm-0.9.0/hare/instrumentation/pools/duration_records.py +50 -0
  1341. hare_orm-0.9.0/hare/instrumentation/pools/pool_metrics.py +50 -0
  1342. hare_orm-0.9.0/hare/instrumentation/pools/pool_registry.py +49 -0
  1343. hare_orm-0.9.0/hare/instrumentation/queries/__init__.py +1 -0
  1344. hare_orm-0.9.0/hare/instrumentation/queries/query_tags.py +133 -0
  1345. hare_orm-0.9.0/hare/instrumentation/queries/query_wrapper.py +37 -0
  1346. hare_orm-0.9.0/hare/lazy_loading/__init__.py +1 -0
  1347. hare_orm-0.9.0/hare/lazy_loading/lazy_pattern.py +45 -0
  1348. hare_orm-0.9.0/hare/lazy_loading/pydantic_classes.py +96 -0
  1349. hare_orm-0.9.0/hare/migrations/__init__.py +90 -0
  1350. hare_orm-0.9.0/hare/migrations/api/__init__.py +24 -0
  1351. hare_orm-0.9.0/hare/migrations/api/checkmigrations.py +55 -0
  1352. hare_orm-0.9.0/hare/migrations/api/makemigrations.py +78 -0
  1353. hare_orm-0.9.0/hare/migrations/api/migrate.py +47 -0
  1354. hare_orm-0.9.0/hare/migrations/api/migration_request_parser.py +86 -0
  1355. hare_orm-0.9.0/hare/migrations/api/plan.py +39 -0
  1356. hare_orm-0.9.0/hare/migrations/api/sqlmigrate.py +51 -0
  1357. hare_orm-0.9.0/hare/migrations/api/squashmigrations.py +51 -0
  1358. hare_orm-0.9.0/hare/migrations/autodetection/__init__.py +4 -0
  1359. hare_orm-0.9.0/hare/migrations/autodetection/constants.py +49 -0
  1360. hare_orm-0.9.0/hare/migrations/autodetection/diffs/__init__.py +1 -0
  1361. hare_orm-0.9.0/hare/migrations/autodetection/diffs/constraint_diff.py +48 -0
  1362. hare_orm-0.9.0/hare/migrations/autodetection/diffs/declarations.py +73 -0
  1363. hare_orm-0.9.0/hare/migrations/autodetection/diffs/declared_schema_object_diff.py +47 -0
  1364. hare_orm-0.9.0/hare/migrations/autodetection/diffs/grant_diff.py +24 -0
  1365. hare_orm-0.9.0/hare/migrations/autodetection/diffs/index_diff.py +73 -0
  1366. hare_orm-0.9.0/hare/migrations/autodetection/diffs/materialized_view_diff.py +44 -0
  1367. hare_orm-0.9.0/hare/migrations/autodetection/diffs/partition_diff.py +99 -0
  1368. hare_orm-0.9.0/hare/migrations/autodetection/diffs/schema_object_diff.py +153 -0
  1369. hare_orm-0.9.0/hare/migrations/autodetection/diffs/state_field_diff.py +566 -0
  1370. hare_orm-0.9.0/hare/migrations/autodetection/diffs/state_model_diff.py +355 -0
  1371. hare_orm-0.9.0/hare/migrations/autodetection/diffs/trigger_diff.py +31 -0
  1372. hare_orm-0.9.0/hare/migrations/autodetection/diffs/view_diff.py +24 -0
  1373. hare_orm-0.9.0/hare/migrations/autodetection/field_comparable_values.py +20 -0
  1374. hare_orm-0.9.0/hare/migrations/autodetection/migration_autodetector.py +337 -0
  1375. hare_orm-0.9.0/hare/migrations/autodetection/migration_splitter.py +151 -0
  1376. hare_orm-0.9.0/hare/migrations/autodetection/operation_generator.py +1115 -0
  1377. hare_orm-0.9.0/hare/migrations/autodetection/operation_sorter.py +213 -0
  1378. hare_orm-0.9.0/hare/migrations/autodetection/rename_questions.py +98 -0
  1379. hare_orm-0.9.0/hare/migrations/autodetection/required_extensions.py +118 -0
  1380. hare_orm-0.9.0/hare/migrations/autodetection/schema_object_operations.py +150 -0
  1381. hare_orm-0.9.0/hare/migrations/autodetection/split_migration.py +24 -0
  1382. hare_orm-0.9.0/hare/migrations/autodetection/state_signatures.py +192 -0
  1383. hare_orm-0.9.0/hare/migrations/constants.py +109 -0
  1384. hare_orm-0.9.0/hare/migrations/drift/__init__.py +13 -0
  1385. hare_orm-0.9.0/hare/migrations/drift/column_mismatch.py +14 -0
  1386. hare_orm-0.9.0/hare/migrations/drift/constants.py +43 -0
  1387. hare_orm-0.9.0/hare/migrations/drift/detect_drift.py +40 -0
  1388. hare_orm-0.9.0/hare/migrations/drift/detect_drift_for_alias.py +87 -0
  1389. hare_orm-0.9.0/hare/migrations/drift/drift_result.py +22 -0
  1390. hare_orm-0.9.0/hare/migrations/drift/shadow/__init__.py +0 -0
  1391. hare_orm-0.9.0/hare/migrations/drift/shadow/column_field_names.py +26 -0
  1392. hare_orm-0.9.0/hare/migrations/drift/shadow/schema_comparison.py +557 -0
  1393. hare_orm-0.9.0/hare/migrations/drift/shadow/shadow_drift.py +318 -0
  1394. hare_orm-0.9.0/hare/migrations/drift/shadow/shadow_state.py +83 -0
  1395. hare_orm-0.9.0/hare/migrations/exceptions.py +69 -0
  1396. hare_orm-0.9.0/hare/migrations/execution/__init__.py +3 -0
  1397. hare_orm-0.9.0/hare/migrations/execution/connections_plan.py +192 -0
  1398. hare_orm-0.9.0/hare/migrations/execution/constants.py +4 -0
  1399. hare_orm-0.9.0/hare/migrations/execution/executor/__init__.py +11 -0
  1400. hare_orm-0.9.0/hare/migrations/execution/executor/migration_executor.py +640 -0
  1401. hare_orm-0.9.0/hare/migrations/execution/executor/migration_target.py +9 -0
  1402. hare_orm-0.9.0/hare/migrations/execution/executor/plan_step.py +30 -0
  1403. hare_orm-0.9.0/hare/migrations/execution/migration_runner.py +304 -0
  1404. hare_orm-0.9.0/hare/migrations/execution/swappable_setting_check.py +161 -0
  1405. hare_orm-0.9.0/hare/migrations/loading/__init__.py +4 -0
  1406. hare_orm-0.9.0/hare/migrations/loading/graph/__init__.py +13 -0
  1407. hare_orm-0.9.0/hare/migrations/loading/graph/dummy_node.py +22 -0
  1408. hare_orm-0.9.0/hare/migrations/loading/graph/migration_graph.py +235 -0
  1409. hare_orm-0.9.0/hare/migrations/loading/graph/migration_key.py +14 -0
  1410. hare_orm-0.9.0/hare/migrations/loading/graph/node.py +40 -0
  1411. hare_orm-0.9.0/hare/migrations/loading/migration_loader.py +256 -0
  1412. hare_orm-0.9.0/hare/migrations/loading/migrations_modules.py +207 -0
  1413. hare_orm-0.9.0/hare/migrations/loading/recorder/__init__.py +9 -0
  1414. hare_orm-0.9.0/hare/migrations/loading/recorder/migration_recorder.py +130 -0
  1415. hare_orm-0.9.0/hare/migrations/loading/recorder/noop_recorder.py +26 -0
  1416. hare_orm-0.9.0/hare/migrations/making/__init__.py +1 -0
  1417. hare_orm-0.9.0/hare/migrations/making/declared_attribute_values.py +27 -0
  1418. hare_orm-0.9.0/hare/migrations/making/migration_changes.py +27 -0
  1419. hare_orm-0.9.0/hare/migrations/making/migration_checks.py +115 -0
  1420. hare_orm-0.9.0/hare/migrations/making/migration_maker.py +291 -0
  1421. hare_orm-0.9.0/hare/migrations/making/migration_optimizer.py +70 -0
  1422. hare_orm-0.9.0/hare/migrations/making/migration_squasher.py +193 -0
  1423. hare_orm-0.9.0/hare/migrations/making/squashed_migration.py +24 -0
  1424. hare_orm-0.9.0/hare/migrations/migration.py +341 -0
  1425. hare_orm-0.9.0/hare/migrations/operations/__init__.py +132 -0
  1426. hare_orm-0.9.0/hare/migrations/operations/columns/__init__.py +11 -0
  1427. hare_orm-0.9.0/hare/migrations/operations/columns/alter_column_not_null_safe.py +140 -0
  1428. hare_orm-0.9.0/hare/migrations/operations/columns/backfill_column.py +118 -0
  1429. hare_orm-0.9.0/hare/migrations/operations/constants.py +20 -0
  1430. hare_orm-0.9.0/hare/migrations/operations/constraints/__init__.py +15 -0
  1431. hare_orm-0.9.0/hare/migrations/operations/constraints/add_constraint.py +129 -0
  1432. hare_orm-0.9.0/hare/migrations/operations/constraints/declarations.py +13 -0
  1433. hare_orm-0.9.0/hare/migrations/operations/constraints/rename_constraint.py +21 -0
  1434. hare_orm-0.9.0/hare/migrations/operations/constraints/validate_constraint.py +66 -0
  1435. hare_orm-0.9.0/hare/migrations/operations/database_functions/__init__.py +10 -0
  1436. hare_orm-0.9.0/hare/migrations/operations/database_functions/add_function.py +28 -0
  1437. hare_orm-0.9.0/hare/migrations/operations/database_functions/alter_function.py +30 -0
  1438. hare_orm-0.9.0/hare/migrations/operations/database_functions/remove_function.py +20 -0
  1439. hare_orm-0.9.0/hare/migrations/operations/database_functions/rename_function.py +21 -0
  1440. hare_orm-0.9.0/hare/migrations/operations/declared_uniqueness_checks.py +76 -0
  1441. hare_orm-0.9.0/hare/migrations/operations/dependencies/__init__.py +1 -0
  1442. hare_orm-0.9.0/hare/migrations/operations/dependencies/operation_dependency.py +89 -0
  1443. hare_orm-0.9.0/hare/migrations/operations/dependencies/relation_dependencies.py +157 -0
  1444. hare_orm-0.9.0/hare/migrations/operations/dictionaries/__init__.py +10 -0
  1445. hare_orm-0.9.0/hare/migrations/operations/dictionaries/add_dictionary.py +28 -0
  1446. hare_orm-0.9.0/hare/migrations/operations/dictionaries/alter_dictionary.py +29 -0
  1447. hare_orm-0.9.0/hare/migrations/operations/dictionaries/remove_dictionary.py +20 -0
  1448. hare_orm-0.9.0/hare/migrations/operations/dictionaries/rename_dictionary.py +21 -0
  1449. hare_orm-0.9.0/hare/migrations/operations/enum_types/__init__.py +7 -0
  1450. hare_orm-0.9.0/hare/migrations/operations/enum_types/alter_enum_type.py +64 -0
  1451. hare_orm-0.9.0/hare/migrations/operations/enum_types/create_enum_type.py +57 -0
  1452. hare_orm-0.9.0/hare/migrations/operations/enum_types/drop_enum_type.py +66 -0
  1453. hare_orm-0.9.0/hare/migrations/operations/enum_types/enum_type_operation.py +35 -0
  1454. hare_orm-0.9.0/hare/migrations/operations/enums.py +24 -0
  1455. hare_orm-0.9.0/hare/migrations/operations/extensions/__init__.py +15 -0
  1456. hare_orm-0.9.0/hare/migrations/operations/extensions/create_collation.py +82 -0
  1457. hare_orm-0.9.0/hare/migrations/operations/extensions/create_extension.py +47 -0
  1458. hare_orm-0.9.0/hare/migrations/operations/extensions/remove_collation.py +35 -0
  1459. hare_orm-0.9.0/hare/migrations/operations/extensions/remove_extension.py +40 -0
  1460. hare_orm-0.9.0/hare/migrations/operations/fields/__init__.py +11 -0
  1461. hare_orm-0.9.0/hare/migrations/operations/fields/add_field.py +135 -0
  1462. hare_orm-0.9.0/hare/migrations/operations/fields/alter_field.py +128 -0
  1463. hare_orm-0.9.0/hare/migrations/operations/fields/field_add_remove_operation.py +41 -0
  1464. hare_orm-0.9.0/hare/migrations/operations/fields/field_like.py +14 -0
  1465. hare_orm-0.9.0/hare/migrations/operations/fields/remove_field.py +326 -0
  1466. hare_orm-0.9.0/hare/migrations/operations/fields/rename_field.py +725 -0
  1467. hare_orm-0.9.0/hare/migrations/operations/grants/__init__.py +8 -0
  1468. hare_orm-0.9.0/hare/migrations/operations/grants/add_grant.py +31 -0
  1469. hare_orm-0.9.0/hare/migrations/operations/grants/remove_grant.py +35 -0
  1470. hare_orm-0.9.0/hare/migrations/operations/hare_operation.py +174 -0
  1471. hare_orm-0.9.0/hare/migrations/operations/indexes/__init__.py +13 -0
  1472. hare_orm-0.9.0/hare/migrations/operations/indexes/add_index.py +42 -0
  1473. hare_orm-0.9.0/hare/migrations/operations/indexes/declarations.py +12 -0
  1474. hare_orm-0.9.0/hare/migrations/operations/indexes/remove_index.py +36 -0
  1475. hare_orm-0.9.0/hare/migrations/operations/materialized_views/__init__.py +17 -0
  1476. hare_orm-0.9.0/hare/migrations/operations/materialized_views/add_materialized_view.py +37 -0
  1477. hare_orm-0.9.0/hare/migrations/operations/materialized_views/alter_materialized_view.py +32 -0
  1478. hare_orm-0.9.0/hare/migrations/operations/materialized_views/refresh_materialized_view.py +57 -0
  1479. hare_orm-0.9.0/hare/migrations/operations/materialized_views/remove_materialized_view.py +28 -0
  1480. hare_orm-0.9.0/hare/migrations/operations/materialized_views/rename_materialized_view.py +23 -0
  1481. hare_orm-0.9.0/hare/migrations/operations/model_bound_operation.py +95 -0
  1482. hare_orm-0.9.0/hare/migrations/operations/models/__init__.py +12 -0
  1483. hare_orm-0.9.0/hare/migrations/operations/models/alter_model_options.py +158 -0
  1484. hare_orm-0.9.0/hare/migrations/operations/models/alter_model_schema.py +114 -0
  1485. hare_orm-0.9.0/hare/migrations/operations/models/alter_model_table.py +65 -0
  1486. hare_orm-0.9.0/hare/migrations/operations/models/create_model.py +407 -0
  1487. hare_orm-0.9.0/hare/migrations/operations/models/delete_model.py +122 -0
  1488. hare_orm-0.9.0/hare/migrations/operations/models/model_table_operation.py +45 -0
  1489. hare_orm-0.9.0/hare/migrations/operations/models/rename_model.py +165 -0
  1490. hare_orm-0.9.0/hare/migrations/operations/models/table_renaming_operation.py +101 -0
  1491. hare_orm-0.9.0/hare/migrations/operations/operation.py +252 -0
  1492. hare_orm-0.9.0/hare/migrations/operations/partitions/__init__.py +11 -0
  1493. hare_orm-0.9.0/hare/migrations/operations/partitions/add_partition.py +36 -0
  1494. hare_orm-0.9.0/hare/migrations/operations/partitions/partition_operation.py +93 -0
  1495. hare_orm-0.9.0/hare/migrations/operations/partitions/remove_partition.py +36 -0
  1496. hare_orm-0.9.0/hare/migrations/operations/policies/__init__.py +11 -0
  1497. hare_orm-0.9.0/hare/migrations/operations/policies/add_policy.py +28 -0
  1498. hare_orm-0.9.0/hare/migrations/operations/policies/alter_policy.py +30 -0
  1499. hare_orm-0.9.0/hare/migrations/operations/policies/alter_row_level_security.py +90 -0
  1500. hare_orm-0.9.0/hare/migrations/operations/policies/remove_policy.py +21 -0
  1501. hare_orm-0.9.0/hare/migrations/operations/policies/rename_policy.py +21 -0
  1502. hare_orm-0.9.0/hare/migrations/operations/schema_objects/__init__.py +11 -0
  1503. hare_orm-0.9.0/hare/migrations/operations/schema_objects/add_schema_object.py +103 -0
  1504. hare_orm-0.9.0/hare/migrations/operations/schema_objects/alter_schema_object.py +89 -0
  1505. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/__init__.py +1 -0
  1506. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/constraint_object_type.py +98 -0
  1507. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/dictionary_object_type.py +51 -0
  1508. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/function_object_type.py +55 -0
  1509. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/grant_object_type.py +71 -0
  1510. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/index_object_type.py +140 -0
  1511. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/materialized_view_object_type.py +63 -0
  1512. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/policy_object_type.py +53 -0
  1513. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/schema_object_type.py +234 -0
  1514. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/sequence_object_type.py +54 -0
  1515. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/trigger_object_type.py +46 -0
  1516. hare_orm-0.9.0/hare/migrations/operations/schema_objects/object_types/view_object_type.py +60 -0
  1517. hare_orm-0.9.0/hare/migrations/operations/schema_objects/remove_schema_object.py +105 -0
  1518. hare_orm-0.9.0/hare/migrations/operations/schema_objects/rename_schema_object.py +116 -0
  1519. hare_orm-0.9.0/hare/migrations/operations/schemas/__init__.py +11 -0
  1520. hare_orm-0.9.0/hare/migrations/operations/schemas/create_schema.py +45 -0
  1521. hare_orm-0.9.0/hare/migrations/operations/schemas/drop_schema.py +40 -0
  1522. hare_orm-0.9.0/hare/migrations/operations/sequences/__init__.py +10 -0
  1523. hare_orm-0.9.0/hare/migrations/operations/sequences/add_sequence.py +28 -0
  1524. hare_orm-0.9.0/hare/migrations/operations/sequences/alter_sequence.py +29 -0
  1525. hare_orm-0.9.0/hare/migrations/operations/sequences/remove_sequence.py +20 -0
  1526. hare_orm-0.9.0/hare/migrations/operations/sequences/rename_sequence.py +21 -0
  1527. hare_orm-0.9.0/hare/migrations/operations/special/__init__.py +16 -0
  1528. hare_orm-0.9.0/hare/migrations/operations/special/run_python.py +82 -0
  1529. hare_orm-0.9.0/hare/migrations/operations/special/run_sql.py +107 -0
  1530. hare_orm-0.9.0/hare/migrations/operations/special/separate_database_and_state.py +95 -0
  1531. hare_orm-0.9.0/hare/migrations/operations/special/synchronize_key_series.py +51 -0
  1532. hare_orm-0.9.0/hare/migrations/operations/triggers/__init__.py +15 -0
  1533. hare_orm-0.9.0/hare/migrations/operations/triggers/add_trigger.py +28 -0
  1534. hare_orm-0.9.0/hare/migrations/operations/triggers/alter_trigger.py +28 -0
  1535. hare_orm-0.9.0/hare/migrations/operations/triggers/remove_trigger.py +20 -0
  1536. hare_orm-0.9.0/hare/migrations/operations/triggers/rename_trigger.py +21 -0
  1537. hare_orm-0.9.0/hare/migrations/operations/views/__init__.py +10 -0
  1538. hare_orm-0.9.0/hare/migrations/operations/views/add_view.py +29 -0
  1539. hare_orm-0.9.0/hare/migrations/operations/views/alter_view.py +29 -0
  1540. hare_orm-0.9.0/hare/migrations/operations/views/remove_view.py +20 -0
  1541. hare_orm-0.9.0/hare/migrations/operations/views/rename_view.py +21 -0
  1542. hare_orm-0.9.0/hare/migrations/reports/__init__.py +12 -0
  1543. hare_orm-0.9.0/hare/migrations/reports/operation_effect.py +28 -0
  1544. hare_orm-0.9.0/hare/migrations/reports/operation_plan.py +23 -0
  1545. hare_orm-0.9.0/hare/migrations/runtime_enums.py +88 -0
  1546. hare_orm-0.9.0/hare/migrations/safety/__init__.py +16 -0
  1547. hare_orm-0.9.0/hare/migrations/safety/enums.py +37 -0
  1548. hare_orm-0.9.0/hare/migrations/safety/migration_risk.py +33 -0
  1549. hare_orm-0.9.0/hare/migrations/safety/migration_safety_checker.py +250 -0
  1550. hare_orm-0.9.0/hare/migrations/safety/migration_safety_context.py +142 -0
  1551. hare_orm-0.9.0/hare/migrations/state/__init__.py +11 -0
  1552. hare_orm-0.9.0/hare/migrations/state/model_state.py +359 -0
  1553. hare_orm-0.9.0/hare/migrations/state/state.py +297 -0
  1554. hare_orm-0.9.0/hare/migrations/state/state_apps.py +315 -0
  1555. hare_orm-0.9.0/hare/migrations/state/state_rendering.py +222 -0
  1556. hare_orm-0.9.0/hare/migrations/swappable_dependency.py +36 -0
  1557. hare_orm-0.9.0/hare/migrations/writer/__init__.py +9 -0
  1558. hare_orm-0.9.0/hare/migrations/writer/constants.py +28 -0
  1559. hare_orm-0.9.0/hare/migrations/writer/import_manager.py +106 -0
  1560. hare_orm-0.9.0/hare/migrations/writer/migration_writer.py +986 -0
  1561. hare_orm-0.9.0/hare/models/__init__.py +20 -0
  1562. hare_orm-0.9.0/hare/models/class_building/__init__.py +1 -0
  1563. hare_orm-0.9.0/hare/models/class_building/abstract_meta_inheritance.py +116 -0
  1564. hare_orm-0.9.0/hare/models/class_building/blind_indexes.py +54 -0
  1565. hare_orm-0.9.0/hare/models/class_building/constants.py +61 -0
  1566. hare_orm-0.9.0/hare/models/class_building/extension_model_options.py +20 -0
  1567. hare_orm-0.9.0/hare/models/class_building/field_comments.py +131 -0
  1568. hare_orm-0.9.0/hare/models/class_building/generic_foreign_keys.py +287 -0
  1569. hare_orm-0.9.0/hare/models/class_building/instance_constructors.py +110 -0
  1570. hare_orm-0.9.0/hare/models/class_building/lazy_relation_fields.py +140 -0
  1571. hare_orm-0.9.0/hare/models/class_building/model_definition_checks.py +710 -0
  1572. hare_orm-0.9.0/hare/models/class_building/model_field_collection.py +185 -0
  1573. hare_orm-0.9.0/hare/models/class_building/model_managers.py +62 -0
  1574. hare_orm-0.9.0/hare/models/class_building/primary_key_declaration.py +204 -0
  1575. hare_orm-0.9.0/hare/models/class_building/schema_object_declarations.py +106 -0
  1576. hare_orm-0.9.0/hare/models/constants.py +75 -0
  1577. hare_orm-0.9.0/hare/models/deletion/__init__.py +0 -0
  1578. hare_orm-0.9.0/hare/models/deletion/cascade/__init__.py +1 -0
  1579. hare_orm-0.9.0/hare/models/deletion/cascade/cascade_deletion.py +818 -0
  1580. hare_orm-0.9.0/hare/models/deletion/cascade/cascade_restore.py +150 -0
  1581. hare_orm-0.9.0/hare/models/deletion/cascade/deletion_collector.py +646 -0
  1582. hare_orm-0.9.0/hare/models/deletion/cascade/deletion_graph.py +418 -0
  1583. hare_orm-0.9.0/hare/models/deletion/cascade/deletion_plan.py +94 -0
  1584. hare_orm-0.9.0/hare/models/deletion/cascade/protect_constraint_deferral.py +91 -0
  1585. hare_orm-0.9.0/hare/models/deletion/cascade/related_rows.py +417 -0
  1586. hare_orm-0.9.0/hare/models/deletion/cascade/tenant_schema_visits.py +96 -0
  1587. hare_orm-0.9.0/hare/models/deletion/constants.py +29 -0
  1588. hare_orm-0.9.0/hare/models/deletion/instance_deletion.py +288 -0
  1589. hare_orm-0.9.0/hare/models/deletion/preview/__init__.py +1 -0
  1590. hare_orm-0.9.0/hare/models/deletion/preview/delete_preview.py +93 -0
  1591. hare_orm-0.9.0/hare/models/deletion/preview/delete_preview_builder.py +431 -0
  1592. hare_orm-0.9.0/hare/models/deletion/soft_deletion.py +207 -0
  1593. hare_orm-0.9.0/hare/models/enums.py +76 -0
  1594. hare_orm-0.9.0/hare/models/instances/__init__.py +1 -0
  1595. hare_orm-0.9.0/hare/models/instances/dirty_fields.py +99 -0
  1596. hare_orm-0.9.0/hare/models/instances/field_snapshot.py +116 -0
  1597. hare_orm-0.9.0/hare/models/instances/instance_connections.py +61 -0
  1598. hare_orm-0.9.0/hare/models/instances/instance_copies.py +46 -0
  1599. hare_orm-0.9.0/hare/models/instances/instance_initialization.py +323 -0
  1600. hare_orm-0.9.0/hare/models/instances/instance_refresh.py +158 -0
  1601. hare_orm-0.9.0/hare/models/instances/instance_saving.py +512 -0
  1602. hare_orm-0.9.0/hare/models/meta_info.py +1143 -0
  1603. hare_orm-0.9.0/hare/models/model.py +935 -0
  1604. hare_orm-0.9.0/hare/models/model_meta.py +255 -0
  1605. hare_orm-0.9.0/hare/models/tenancy/__init__.py +1 -0
  1606. hare_orm-0.9.0/hare/models/tenancy/constants.py +16 -0
  1607. hare_orm-0.9.0/hare/models/tenancy/tenancy.py +363 -0
  1608. hare_orm-0.9.0/hare/models/tenancy/tenant_row_level_security.py +76 -0
  1609. hare_orm-0.9.0/hare/models/tenancy/tenant_schemas.py +232 -0
  1610. hare_orm-0.9.0/hare/models/uniqueness/__init__.py +0 -0
  1611. hare_orm-0.9.0/hare/models/uniqueness/declared_uniqueness.py +99 -0
  1612. hare_orm-0.9.0/hare/models/write/__init__.py +3 -0
  1613. hare_orm-0.9.0/hare/models/write/generated_keys.py +97 -0
  1614. hare_orm-0.9.0/hare/models/write/insert/__init__.py +1 -0
  1615. hare_orm-0.9.0/hare/models/write/insert/insert_conflict.py +88 -0
  1616. hare_orm-0.9.0/hare/models/write/insert/insert_statement.py +155 -0
  1617. hare_orm-0.9.0/hare/models/write/instance_capture.py +173 -0
  1618. hare_orm-0.9.0/hare/models/write/instance_values.py +126 -0
  1619. hare_orm-0.9.0/hare/models/write/instance_writer.py +949 -0
  1620. hare_orm-0.9.0/hare/models/write/returned_values.py +98 -0
  1621. hare_orm-0.9.0/hare/models/write/rollback_restores.py +213 -0
  1622. hare_orm-0.9.0/hare/models/write/rules/__init__.py +2 -0
  1623. hare_orm-0.9.0/hare/models/write/rules/constants.py +65 -0
  1624. hare_orm-0.9.0/hare/models/write/rules/enums.py +18 -0
  1625. hare_orm-0.9.0/hare/models/write/rules/relation_key_values.py +50 -0
  1626. hare_orm-0.9.0/hare/models/write/rules/row_write_rules.py +635 -0
  1627. hare_orm-0.9.0/hare/models/write/rules/tenant_write_rules.py +300 -0
  1628. hare_orm-0.9.0/hare/models/write/rules/written_instances.py +37 -0
  1629. hare_orm-0.9.0/hare/models/write/rules/written_target_checks.py +63 -0
  1630. hare_orm-0.9.0/hare/models/write/update/__init__.py +1 -0
  1631. hare_orm-0.9.0/hare/models/write/update/expression_assignment.py +162 -0
  1632. hare_orm-0.9.0/hare/models/write/update/update_parameter_slot.py +43 -0
  1633. hare_orm-0.9.0/hare/models/write/write_steps.py +98 -0
  1634. hare_orm-0.9.0/hare/native/__init__.py +1 -0
  1635. hare_orm-0.9.0/hare/native/native_modules.py +19 -0
  1636. hare_orm-0.9.0/hare/numbers/__init__.py +1 -0
  1637. hare_orm-0.9.0/hare/numbers/finite_numbers.py +27 -0
  1638. hare_orm-0.9.0/hare/py.typed +0 -0
  1639. hare_orm-0.9.0/hare/query/__init__.py +0 -0
  1640. hare_orm-0.9.0/hare/query/constants.py +41 -0
  1641. hare_orm-0.9.0/hare/query/enums.py +129 -0
  1642. hare_orm-0.9.0/hare/query/expressions/__init__.py +63 -0
  1643. hare_orm-0.9.0/hare/query/expressions/aggregate.py +442 -0
  1644. hare_orm-0.9.0/hare/query/expressions/aggregate_paths/__init__.py +9 -0
  1645. hare_orm-0.9.0/hare/query/expressions/aggregate_paths/aggregate_crossing.py +20 -0
  1646. hare_orm-0.9.0/hare/query/expressions/aggregate_paths/aggregated_multi_valued_paths.py +581 -0
  1647. hare_orm-0.9.0/hare/query/expressions/aggregate_paths/constants.py +10 -0
  1648. hare_orm-0.9.0/hare/query/expressions/arithmetic/__init__.py +1 -0
  1649. hare_orm-0.9.0/hare/query/expressions/arithmetic/arithmetic_operators.py +57 -0
  1650. hare_orm-0.9.0/hare/query/expressions/arithmetic/combinable_expression.py +47 -0
  1651. hare_orm-0.9.0/hare/query/expressions/arithmetic/combined_expression.py +614 -0
  1652. hare_orm-0.9.0/hare/query/expressions/arithmetic/constants.py +37 -0
  1653. hare_orm-0.9.0/hare/query/expressions/case/__init__.py +1 -0
  1654. hare_orm-0.9.0/hare/query/expressions/case/case.py +230 -0
  1655. hare_orm-0.9.0/hare/query/expressions/case/case_branch_value.py +14 -0
  1656. hare_orm-0.9.0/hare/query/expressions/case/when.py +167 -0
  1657. hare_orm-0.9.0/hare/query/expressions/compatibility/__init__.py +9 -0
  1658. hare_orm-0.9.0/hare/query/expressions/compatibility/constants.py +107 -0
  1659. hare_orm-0.9.0/hare/query/expressions/compatibility/output_field_compatibility.py +248 -0
  1660. hare_orm-0.9.0/hare/query/expressions/compatibility/result_branch.py +46 -0
  1661. hare_orm-0.9.0/hare/query/expressions/conditions/__init__.py +1 -0
  1662. hare_orm-0.9.0/hare/query/expressions/conditions/q.py +525 -0
  1663. hare_orm-0.9.0/hare/query/expressions/conditions/query_modifier.py +90 -0
  1664. hare_orm-0.9.0/hare/query/expressions/constants.py +120 -0
  1665. hare_orm-0.9.0/hare/query/expressions/declarations.py +12 -0
  1666. hare_orm-0.9.0/hare/query/expressions/enums.py +39 -0
  1667. hare_orm-0.9.0/hare/query/expressions/expression.py +129 -0
  1668. hare_orm-0.9.0/hare/query/expressions/expression_context.py +63 -0
  1669. hare_orm-0.9.0/hare/query/expressions/expression_result.py +41 -0
  1670. hare_orm-0.9.0/hare/query/expressions/f.py +212 -0
  1671. hare_orm-0.9.0/hare/query/expressions/frames/__init__.py +12 -0
  1672. hare_orm-0.9.0/hare/query/expressions/frames/constants.py +14 -0
  1673. hare_orm-0.9.0/hare/query/expressions/frames/declarations.py +22 -0
  1674. hare_orm-0.9.0/hare/query/expressions/frames/window_frame.py +126 -0
  1675. hare_orm-0.9.0/hare/query/expressions/function.py +490 -0
  1676. hare_orm-0.9.0/hare/query/expressions/joins/__init__.py +1 -0
  1677. hare_orm-0.9.0/hare/query/expressions/joins/array_join.py +147 -0
  1678. hare_orm-0.9.0/hare/query/expressions/joins/array_join_element.py +27 -0
  1679. hare_orm-0.9.0/hare/query/expressions/joins/asof_join.py +263 -0
  1680. hare_orm-0.9.0/hare/query/expressions/joins/filtered_relation.py +338 -0
  1681. hare_orm-0.9.0/hare/query/expressions/joins/json_table.py +147 -0
  1682. hare_orm-0.9.0/hare/query/expressions/joins/json_table_column.py +21 -0
  1683. hare_orm-0.9.0/hare/query/expressions/joins/lateral.py +88 -0
  1684. hare_orm-0.9.0/hare/query/expressions/joins/merge_source_row.py +44 -0
  1685. hare_orm-0.9.0/hare/query/expressions/joins/named_columns.py +43 -0
  1686. hare_orm-0.9.0/hare/query/expressions/joins/named_join.py +204 -0
  1687. hare_orm-0.9.0/hare/query/expressions/numeric/__init__.py +11 -0
  1688. hare_orm-0.9.0/hare/query/expressions/numeric/numeric_type.py +18 -0
  1689. hare_orm-0.9.0/hare/query/expressions/numeric/numeric_typing.py +216 -0
  1690. hare_orm-0.9.0/hare/query/expressions/numeric/unrounded_decimal_field.py +16 -0
  1691. hare_orm-0.9.0/hare/query/expressions/ordering.py +55 -0
  1692. hare_orm-0.9.0/hare/query/expressions/raw_sql.py +168 -0
  1693. hare_orm-0.9.0/hare/query/expressions/subqueries/__init__.py +1 -0
  1694. hare_orm-0.9.0/hare/query/expressions/subqueries/cte_rows.py +46 -0
  1695. hare_orm-0.9.0/hare/query/expressions/subqueries/declarations.py +8 -0
  1696. hare_orm-0.9.0/hare/query/expressions/subqueries/exists.py +181 -0
  1697. hare_orm-0.9.0/hare/query/expressions/subqueries/outer_reference.py +157 -0
  1698. hare_orm-0.9.0/hare/query/expressions/subqueries/outer_scope.py +74 -0
  1699. hare_orm-0.9.0/hare/query/expressions/subqueries/recursive_rows.py +177 -0
  1700. hare_orm-0.9.0/hare/query/expressions/subqueries/subquery.py +236 -0
  1701. hare_orm-0.9.0/hare/query/expressions/temporal/__init__.py +9 -0
  1702. hare_orm-0.9.0/hare/query/expressions/temporal/constants.py +43 -0
  1703. hare_orm-0.9.0/hare/query/expressions/temporal/temporal_arithmetic.py +254 -0
  1704. hare_orm-0.9.0/hare/query/expressions/temporal/temporal_operand.py +25 -0
  1705. hare_orm-0.9.0/hare/query/expressions/term_expression.py +28 -0
  1706. hare_orm-0.9.0/hare/query/expressions/value.py +259 -0
  1707. hare_orm-0.9.0/hare/query/expressions/value_references/__init__.py +49 -0
  1708. hare_orm-0.9.0/hare/query/expressions/value_references/array_value_reference.py +41 -0
  1709. hare_orm-0.9.0/hare/query/expressions/value_references/composite_key_value_reference.py +61 -0
  1710. hare_orm-0.9.0/hare/query/expressions/value_references/cursor_value_reference.py +41 -0
  1711. hare_orm-0.9.0/hare/query/expressions/value_references/encoded_value_reference.py +43 -0
  1712. hare_orm-0.9.0/hare/query/expressions/value_references/expression_arguments.py +181 -0
  1713. hare_orm-0.9.0/hare/query/expressions/value_references/like_value_reference.py +46 -0
  1714. hare_orm-0.9.0/hare/query/expressions/value_references/list_parameter_value_reference.py +65 -0
  1715. hare_orm-0.9.0/hare/query/expressions/value_references/list_value_reference.py +55 -0
  1716. hare_orm-0.9.0/hare/query/expressions/value_references/literal_value_reference.py +38 -0
  1717. hare_orm-0.9.0/hare/query/expressions/value_references/open_range_value_reference.py +53 -0
  1718. hare_orm-0.9.0/hare/query/expressions/value_references/range_value_reference.py +49 -0
  1719. hare_orm-0.9.0/hare/query/expressions/value_references/rebuilt_criterion_value_reference.py +93 -0
  1720. hare_orm-0.9.0/hare/query/expressions/value_references/related_key_value_reference.py +67 -0
  1721. hare_orm-0.9.0/hare/query/expressions/value_references/related_value_reference.py +33 -0
  1722. hare_orm-0.9.0/hare/query/expressions/value_references/row_list_value_reference.py +67 -0
  1723. hare_orm-0.9.0/hare/query/expressions/value_references/scalar_value_reference.py +41 -0
  1724. hare_orm-0.9.0/hare/query/expressions/value_references/value_reference_types.py +65 -0
  1725. hare_orm-0.9.0/hare/query/expressions/value_references/write_value_reference.py +41 -0
  1726. hare_orm-0.9.0/hare/query/expressions/window.py +220 -0
  1727. hare_orm-0.9.0/hare/query/filters/__init__.py +21 -0
  1728. hare_orm-0.9.0/hare/query/filters/constants.py +89 -0
  1729. hare_orm-0.9.0/hare/query/filters/lookups/__init__.py +1 -0
  1730. hare_orm-0.9.0/hare/query/filters/lookups/annotation_container_lookups.py +40 -0
  1731. hare_orm-0.9.0/hare/query/filters/lookups/constants.py +60 -0
  1732. hare_orm-0.9.0/hare/query/filters/lookups/containers/__init__.py +3 -0
  1733. hare_orm-0.9.0/hare/query/filters/lookups/containers/container_field_lookups.py +78 -0
  1734. hare_orm-0.9.0/hare/query/filters/lookups/containers/container_lookups.py +80 -0
  1735. hare_orm-0.9.0/hare/query/filters/lookups/containers/container_value_encoders.py +94 -0
  1736. hare_orm-0.9.0/hare/query/filters/lookups/date_part_lookups.py +292 -0
  1737. hare_orm-0.9.0/hare/query/filters/lookups/dialect_implemented_operators.py +39 -0
  1738. hare_orm-0.9.0/hare/query/filters/lookups/field_lookup.py +59 -0
  1739. hare_orm-0.9.0/hare/query/filters/lookups/field_lookups.py +289 -0
  1740. hare_orm-0.9.0/hare/query/filters/lookups/field_transforms.py +98 -0
  1741. hare_orm-0.9.0/hare/query/filters/lookups/json/__init__.py +1 -0
  1742. hare_orm-0.9.0/hare/query/filters/lookups/json/json_filter_guards.py +412 -0
  1743. hare_orm-0.9.0/hare/query/filters/lookups/json/json_filter_parser.py +82 -0
  1744. hare_orm-0.9.0/hare/query/filters/lookups/json/json_lookups.py +67 -0
  1745. hare_orm-0.9.0/hare/query/filters/lookups/json/json_path_lookups.py +184 -0
  1746. hare_orm-0.9.0/hare/query/filters/lookups/lookups.py +371 -0
  1747. hare_orm-0.9.0/hare/query/filters/lookups/value_encoders.py +246 -0
  1748. hare_orm-0.9.0/hare/query/filters/resolution/__init__.py +1 -0
  1749. hare_orm-0.9.0/hare/query/filters/resolution/annotation_filters.py +280 -0
  1750. hare_orm-0.9.0/hare/query/filters/resolution/composite_key_filters.py +439 -0
  1751. hare_orm-0.9.0/hare/query/filters/resolution/filter_kwargs.py +704 -0
  1752. hare_orm-0.9.0/hare/query/filters/resolution/filter_values.py +565 -0
  1753. hare_orm-0.9.0/hare/query/filters/resolution/json_path_filters.py +157 -0
  1754. hare_orm-0.9.0/hare/query/filters/resolution/lookup_support.py +84 -0
  1755. hare_orm-0.9.0/hare/query/filters/resolution/relation_filters.py +510 -0
  1756. hare_orm-0.9.0/hare/query/filters/resolution/sensitive_filter_keys.py +91 -0
  1757. hare_orm-0.9.0/hare/query/filters/resolution/to_many_filters.py +436 -0
  1758. hare_orm-0.9.0/hare/query/functions/__init__.py +185 -0
  1759. hare_orm-0.9.0/hare/query/functions/aggregates/__init__.py +9 -0
  1760. hare_orm-0.9.0/hare/query/functions/aggregates/array_agg.py +48 -0
  1761. hare_orm-0.9.0/hare/query/functions/aggregates/avg.py +59 -0
  1762. hare_orm-0.9.0/hare/query/functions/aggregates/constants.py +5 -0
  1763. hare_orm-0.9.0/hare/query/functions/aggregates/count.py +81 -0
  1764. hare_orm-0.9.0/hare/query/functions/aggregates/declarations.py +51 -0
  1765. hare_orm-0.9.0/hare/query/functions/aggregates/statistic_aggregate.py +67 -0
  1766. hare_orm-0.9.0/hare/query/functions/aggregates/sum.py +55 -0
  1767. hare_orm-0.9.0/hare/query/functions/comparison/__init__.py +9 -0
  1768. hare_orm-0.9.0/hare/query/functions/comparison/cast.py +121 -0
  1769. hare_orm-0.9.0/hare/query/functions/comparison/coalesce.py +140 -0
  1770. hare_orm-0.9.0/hare/query/functions/comparison/collate.py +45 -0
  1771. hare_orm-0.9.0/hare/query/functions/comparison/declarations.py +21 -0
  1772. hare_orm-0.9.0/hare/query/functions/comparison/function_arguments.py +70 -0
  1773. hare_orm-0.9.0/hare/query/functions/comparison/greatest_least_function.py +108 -0
  1774. hare_orm-0.9.0/hare/query/functions/comparison/null_if.py +78 -0
  1775. hare_orm-0.9.0/hare/query/functions/containers/__init__.py +7 -0
  1776. hare_orm-0.9.0/hare/query/functions/containers/array_item.py +69 -0
  1777. hare_orm-0.9.0/hare/query/functions/datetime/__init__.py +55 -0
  1778. hare_orm-0.9.0/hare/query/functions/datetime/date_function_source.py +31 -0
  1779. hare_orm-0.9.0/hare/query/functions/datetime/declarations.py +193 -0
  1780. hare_orm-0.9.0/hare/query/functions/datetime/extract.py +97 -0
  1781. hare_orm-0.9.0/hare/query/functions/datetime/now.py +26 -0
  1782. hare_orm-0.9.0/hare/query/functions/datetime/trunc.py +124 -0
  1783. hare_orm-0.9.0/hare/query/functions/json/__init__.py +6 -0
  1784. hare_orm-0.9.0/hare/query/functions/json/json_array.py +34 -0
  1785. hare_orm-0.9.0/hare/query/functions/json/json_object.py +161 -0
  1786. hare_orm-0.9.0/hare/query/functions/math/__init__.py +53 -0
  1787. hare_orm-0.9.0/hare/query/functions/math/declarations.py +192 -0
  1788. hare_orm-0.9.0/hare/query/functions/math/enums.py +16 -0
  1789. hare_orm-0.9.0/hare/query/functions/math/math_function.py +110 -0
  1790. hare_orm-0.9.0/hare/query/functions/math/mod.py +52 -0
  1791. hare_orm-0.9.0/hare/query/functions/math/pi.py +21 -0
  1792. hare_orm-0.9.0/hare/query/functions/math/random.py +22 -0
  1793. hare_orm-0.9.0/hare/query/functions/math/round.py +85 -0
  1794. hare_orm-0.9.0/hare/query/functions/text/__init__.py +55 -0
  1795. hare_orm-0.9.0/hare/query/functions/text/concat.py +99 -0
  1796. hare_orm-0.9.0/hare/query/functions/text/declarations.py +197 -0
  1797. hare_orm-0.9.0/hare/query/functions/text/l_pad.py +17 -0
  1798. hare_orm-0.9.0/hare/query/functions/text/length.py +38 -0
  1799. hare_orm-0.9.0/hare/query/functions/text/r_pad.py +17 -0
  1800. hare_orm-0.9.0/hare/query/functions/text/replace.py +17 -0
  1801. hare_orm-0.9.0/hare/query/functions/text/text_function.py +114 -0
  1802. hare_orm-0.9.0/hare/query/functions/window/__init__.py +45 -0
  1803. hare_orm-0.9.0/hare/query/functions/window/aggregate_window_function.py +43 -0
  1804. hare_orm-0.9.0/hare/query/functions/window/avg.py +23 -0
  1805. hare_orm-0.9.0/hare/query/functions/window/constants.py +3 -0
  1806. hare_orm-0.9.0/hare/query/functions/window/count.py +54 -0
  1807. hare_orm-0.9.0/hare/query/functions/window/declarations.py +153 -0
  1808. hare_orm-0.9.0/hare/query/functions/window/distribution_window_function.py +21 -0
  1809. hare_orm-0.9.0/hare/query/functions/window/field_window_function.py +149 -0
  1810. hare_orm-0.9.0/hare/query/functions/window/n_tile.py +41 -0
  1811. hare_orm-0.9.0/hare/query/functions/window/nth_value.py +54 -0
  1812. hare_orm-0.9.0/hare/query/functions/window/offset_window_function.py +85 -0
  1813. hare_orm-0.9.0/hare/query/functions/window/rank_like_window_function.py +21 -0
  1814. hare_orm-0.9.0/hare/query/functions/window/statistic_window_function.py +44 -0
  1815. hare_orm-0.9.0/hare/query/functions/window/sum.py +23 -0
  1816. hare_orm-0.9.0/hare/query/functions/window/window_function.py +134 -0
  1817. hare_orm-0.9.0/hare/query/generic_foreign_keys/__init__.py +3 -0
  1818. hare_orm-0.9.0/hare/query/generic_foreign_keys/constants.py +21 -0
  1819. hare_orm-0.9.0/hare/query/generic_foreign_keys/generic_foreign_key_filters.py +251 -0
  1820. hare_orm-0.9.0/hare/query/generic_foreign_keys/generic_foreign_key_paths.py +183 -0
  1821. hare_orm-0.9.0/hare/query/generic_foreign_keys/generic_foreign_key_types.py +94 -0
  1822. hare_orm-0.9.0/hare/query/grouping/__init__.py +14 -0
  1823. hare_orm-0.9.0/hare/query/grouping/declarations.py +21 -0
  1824. hare_orm-0.9.0/hare/query/grouping/grouping.py +60 -0
  1825. hare_orm-0.9.0/hare/query/grouping/grouping_set.py +67 -0
  1826. hare_orm-0.9.0/hare/query/grouping/grouping_sets.py +55 -0
  1827. hare_orm-0.9.0/hare/query/key_columns.py +297 -0
  1828. hare_orm-0.9.0/hare/query/lookup_info/__init__.py +12 -0
  1829. hare_orm-0.9.0/hare/query/lookup_info/declarations.py +27 -0
  1830. hare_orm-0.9.0/hare/query/lookup_info/lookup_info.py +89 -0
  1831. hare_orm-0.9.0/hare/query/lookup_info/lookup_info_builder.py +807 -0
  1832. hare_orm-0.9.0/hare/query/lookup_info/lookup_path.py +94 -0
  1833. hare_orm-0.9.0/hare/query/lookup_info/lookup_paths.py +415 -0
  1834. hare_orm-0.9.0/hare/query/lookup_info/ordering_info.py +43 -0
  1835. hare_orm-0.9.0/hare/query/lookup_info/value_paths.py +135 -0
  1836. hare_orm-0.9.0/hare/query/managers/__init__.py +1 -0
  1837. hare_orm-0.9.0/hare/query/managers/base_manager.py +20 -0
  1838. hare_orm-0.9.0/hare/query/managers/manager.py +130 -0
  1839. hare_orm-0.9.0/hare/query/plans/__init__.py +4 -0
  1840. hare_orm-0.9.0/hare/query/plans/call_signatures/__init__.py +1 -0
  1841. hare_orm-0.9.0/hare/query/plans/call_signatures/call_signature_plans.py +318 -0
  1842. hare_orm-0.9.0/hare/query/plans/call_signatures/call_signature_runs.py +466 -0
  1843. hare_orm-0.9.0/hare/query/plans/constants.py +37 -0
  1844. hare_orm-0.9.0/hare/query/plans/description/__init__.py +11 -0
  1845. hare_orm-0.9.0/hare/query/plans/description/declared_plan_parts.py +7 -0
  1846. hare_orm-0.9.0/hare/query/plans/description/filter_plan_descriptions.py +229 -0
  1847. hare_orm-0.9.0/hare/query/plans/description/hashable_values.py +22 -0
  1848. hare_orm-0.9.0/hare/query/plans/description/plan_context.py +33 -0
  1849. hare_orm-0.9.0/hare/query/plans/description/plan_describer_compiler.py +355 -0
  1850. hare_orm-0.9.0/hare/query/plans/description/plan_description.py +66 -0
  1851. hare_orm-0.9.0/hare/query/plans/description/plan_parts.py +150 -0
  1852. hare_orm-0.9.0/hare/query/plans/description/plannable.py +69 -0
  1853. hare_orm-0.9.0/hare/query/plans/description/term_plan_descriptions.py +92 -0
  1854. hare_orm-0.9.0/hare/query/plans/enums.py +97 -0
  1855. hare_orm-0.9.0/hare/query/plans/plan_origins.py +99 -0
  1856. hare_orm-0.9.0/hare/query/plans/recording/__init__.py +1 -0
  1857. hare_orm-0.9.0/hare/query/plans/recording/plan_recording.py +100 -0
  1858. hare_orm-0.9.0/hare/query/plans/recording/scope_value_source.py +67 -0
  1859. hare_orm-0.9.0/hare/query/plans/statement/__init__.py +1 -0
  1860. hare_orm-0.9.0/hare/query/plans/statement/declared_plan_slots.py +11 -0
  1861. hare_orm-0.9.0/hare/query/plans/statement/query_key_compiler.py +171 -0
  1862. hare_orm-0.9.0/hare/query/plans/statement/raw_sql_plan.py +47 -0
  1863. hare_orm-0.9.0/hare/query/plans/statement/statement_plan.py +522 -0
  1864. hare_orm-0.9.0/hare/query/plans/statement/statement_plan_descriptions.py +451 -0
  1865. hare_orm-0.9.0/hare/query/plans/statement/statement_plan_runs.py +306 -0
  1866. hare_orm-0.9.0/hare/query/plans/statement/statement_plans.py +128 -0
  1867. hare_orm-0.9.0/hare/query/query_connection.py +110 -0
  1868. hare_orm-0.9.0/hare/query/queryset/__init__.py +19 -0
  1869. hare_orm-0.9.0/hare/query/queryset/annotation_access_tracker.py +20 -0
  1870. hare_orm-0.9.0/hare/query/queryset/arguments/__init__.py +1 -0
  1871. hare_orm-0.9.0/hare/query/queryset/arguments/annotation_arguments.py +215 -0
  1872. hare_orm-0.9.0/hare/query/queryset/arguments/collection_arguments.py +29 -0
  1873. hare_orm-0.9.0/hare/query/queryset/arguments/filter_arguments.py +260 -0
  1874. hare_orm-0.9.0/hare/query/queryset/arguments/ordering_arguments.py +242 -0
  1875. hare_orm-0.9.0/hare/query/queryset/arguments/values_arguments.py +145 -0
  1876. hare_orm-0.9.0/hare/query/queryset/combination/__init__.py +1 -0
  1877. hare_orm-0.9.0/hare/query/queryset/combination/combination.py +58 -0
  1878. hare_orm-0.9.0/hare/query/queryset/combination/queryset_combination.py +109 -0
  1879. hare_orm-0.9.0/hare/query/queryset/concrete_field_paths.py +109 -0
  1880. hare_orm-0.9.0/hare/query/queryset/constants.py +83 -0
  1881. hare_orm-0.9.0/hare/query/queryset/date_lists.py +74 -0
  1882. hare_orm-0.9.0/hare/query/queryset/declarations.py +7 -0
  1883. hare_orm-0.9.0/hare/query/queryset/extensions/__init__.py +9 -0
  1884. hare_orm-0.9.0/hare/query/queryset/extensions/query_set_extension.py +78 -0
  1885. hare_orm-0.9.0/hare/query/queryset/extensions/query_set_extension_call.py +19 -0
  1886. hare_orm-0.9.0/hare/query/queryset/extensions/query_set_extension_query.py +146 -0
  1887. hare_orm-0.9.0/hare/query/queryset/extensions/query_set_extensions.py +247 -0
  1888. hare_orm-0.9.0/hare/query/queryset/lazy_relation_names.py +33 -0
  1889. hare_orm-0.9.0/hare/query/queryset/model_query.py +79 -0
  1890. hare_orm-0.9.0/hare/query/queryset/objects_by_key.py +79 -0
  1891. hare_orm-0.9.0/hare/query/queryset/options/__init__.py +1 -0
  1892. hare_orm-0.9.0/hare/query/queryset/options/query_option.py +42 -0
  1893. hare_orm-0.9.0/hare/query/queryset/options/query_options.py +313 -0
  1894. hare_orm-0.9.0/hare/query/queryset/pending_calls/__init__.py +1 -0
  1895. hare_orm-0.9.0/hare/query/queryset/pending_calls/calls_before_setup.py +185 -0
  1896. hare_orm-0.9.0/hare/query/queryset/pending_calls/pending_filter_calls.py +144 -0
  1897. hare_orm-0.9.0/hare/query/queryset/query_specification.py +1088 -0
  1898. hare_orm-0.9.0/hare/query/queryset/queryset.py +2527 -0
  1899. hare_orm-0.9.0/hare/query/queryset/relations/__init__.py +3 -0
  1900. hare_orm-0.9.0/hare/query/queryset/relations/linked_many_to_many_relation.py +41 -0
  1901. hare_orm-0.9.0/hare/query/queryset/relations/many_to_many/__init__.py +1 -0
  1902. hare_orm-0.9.0/hare/query/queryset/relations/many_to_many/linked_keys.py +147 -0
  1903. hare_orm-0.9.0/hare/query/queryset/relations/many_to_many/linked_rows_queries.py +175 -0
  1904. hare_orm-0.9.0/hare/query/queryset/relations/many_to_many/many_to_many_members.py +173 -0
  1905. hare_orm-0.9.0/hare/query/queryset/relations/many_to_many/many_to_many_scope_checks.py +332 -0
  1906. hare_orm-0.9.0/hare/query/queryset/relations/many_to_many/through_defaults.py +244 -0
  1907. hare_orm-0.9.0/hare/query/queryset/relations/many_to_many/through_row_inserting.py +516 -0
  1908. hare_orm-0.9.0/hare/query/queryset/relations/many_to_many/through_row_unlinking.py +333 -0
  1909. hare_orm-0.9.0/hare/query/queryset/relations/many_to_many/through_rows.py +185 -0
  1910. hare_orm-0.9.0/hare/query/queryset/relations/many_to_many_relation.py +382 -0
  1911. hare_orm-0.9.0/hare/query/queryset/relations/related_queryset/__init__.py +9 -0
  1912. hare_orm-0.9.0/hare/query/queryset/relations/related_queryset/related_query_set.py +366 -0
  1913. hare_orm-0.9.0/hare/query/queryset/relations/related_queryset/related_rows_iterator.py +42 -0
  1914. hare_orm-0.9.0/hare/query/queryset/relations/related_queryset/relation_rows.py +73 -0
  1915. hare_orm-0.9.0/hare/query/queryset/relations/related_queryset/unsaved_owner_condition.py +37 -0
  1916. hare_orm-0.9.0/hare/query/queryset/relations/reverse_relation.py +474 -0
  1917. hare_orm-0.9.0/hare/query/queryset/row_multiplication.py +151 -0
  1918. hare_orm-0.9.0/hare/query/queryset/schema_object_calls.py +45 -0
  1919. hare_orm-0.9.0/hare/query/queryset/selection/__init__.py +1 -0
  1920. hare_orm-0.9.0/hare/query/queryset/selection/statement_selection.py +217 -0
  1921. hare_orm-0.9.0/hare/query/queryset/selection/values_selection.py +65 -0
  1922. hare_orm-0.9.0/hare/query/queryset/single_rows/__init__.py +1 -0
  1923. hare_orm-0.9.0/hare/query/queryset/single_rows/get_exception_argument.py +7 -0
  1924. hare_orm-0.9.0/hare/query/queryset/single_rows/get_exceptions.py +91 -0
  1925. hare_orm-0.9.0/hare/query/queryset/single_rows/none_awaitable_type.py +21 -0
  1926. hare_orm-0.9.0/hare/query/queryset/single_rows/query_set_single.py +49 -0
  1927. hare_orm-0.9.0/hare/query/queryset/single_rows/single_row.py +103 -0
  1928. hare_orm-0.9.0/hare/query/queryset/specification_copying.py +123 -0
  1929. hare_orm-0.9.0/hare/query/queryset/table_sample.py +60 -0
  1930. hare_orm-0.9.0/hare/query/raw_sql/__init__.py +6 -0
  1931. hare_orm-0.9.0/hare/query/raw_sql/execute_sql.py +71 -0
  1932. hare_orm-0.9.0/hare/query/raw_sql/sql_query_result.py +38 -0
  1933. hare_orm-0.9.0/hare/query/relation_loading/__init__.py +14 -0
  1934. hare_orm-0.9.0/hare/query/relation_loading/constants.py +8 -0
  1935. hare_orm-0.9.0/hare/query/relation_loading/prefetching/__init__.py +1 -0
  1936. hare_orm-0.9.0/hare/query/relation_loading/prefetching/declarations.py +32 -0
  1937. hare_orm-0.9.0/hare/query/relation_loading/prefetching/direct_relation_prefetch.py +234 -0
  1938. hare_orm-0.9.0/hare/query/relation_loading/prefetching/many_to_many_prefetch.py +496 -0
  1939. hare_orm-0.9.0/hare/query/relation_loading/prefetching/prefetch.py +198 -0
  1940. hare_orm-0.9.0/hare/query/relation_loading/prefetching/prefetch_checks.py +80 -0
  1941. hare_orm-0.9.0/hare/query/relation_loading/prefetching/prefetch_related_objects.py +48 -0
  1942. hare_orm-0.9.0/hare/query/relation_loading/prefetching/prefetch_request.py +30 -0
  1943. hare_orm-0.9.0/hare/query/relation_loading/prefetching/prefetcher.py +200 -0
  1944. hare_orm-0.9.0/hare/query/relation_loading/prefetching/related_rows_fetch.py +116 -0
  1945. hare_orm-0.9.0/hare/query/relation_loading/prefetching/reverse_relation_prefetch.py +201 -0
  1946. hare_orm-0.9.0/hare/query/relation_loading/prefetching/sliced_prefetch.py +165 -0
  1947. hare_orm-0.9.0/hare/query/relation_loading/select.py +26 -0
  1948. hare_orm-0.9.0/hare/query/rows/__init__.py +3 -0
  1949. hare_orm-0.9.0/hare/query/rows/constants.py +33 -0
  1950. hare_orm-0.9.0/hare/query/rows/enums.py +81 -0
  1951. hare_orm-0.9.0/hare/query/rows/model_rows/__init__.py +1 -0
  1952. hare_orm-0.9.0/hare/query/rows/model_rows/combined_model_rows.py +254 -0
  1953. hare_orm-0.9.0/hare/query/rows/model_rows/model_columns.py +210 -0
  1954. hare_orm-0.9.0/hare/query/rows/model_rows/model_rows.py +462 -0
  1955. hare_orm-0.9.0/hare/query/rows/native/__init__.py +1 -0
  1956. hare_orm-0.9.0/hare/query/rows/native/enums.py +12 -0
  1957. hare_orm-0.9.0/hare/query/rows/native/field_codecs.py +450 -0
  1958. hare_orm-0.9.0/hare/query/rows/native/hydrate_accelerator.py +264 -0
  1959. hare_orm-0.9.0/hare/query/rows/native/hydration_layout.py +114 -0
  1960. hare_orm-0.9.0/hare/query/rows/values_rows/__init__.py +1 -0
  1961. hare_orm-0.9.0/hare/query/rows/values_rows/combined_values_rows.py +133 -0
  1962. hare_orm-0.9.0/hare/query/rows/values_rows/dict_rows.py +92 -0
  1963. hare_orm-0.9.0/hare/query/rows/values_rows/flat_rows.py +33 -0
  1964. hare_orm-0.9.0/hare/query/rows/values_rows/named_rows.py +52 -0
  1965. hare_orm-0.9.0/hare/query/rows/values_rows/tuple_rows.py +128 -0
  1966. hare_orm-0.9.0/hare/query/rows/values_rows/value_field.py +26 -0
  1967. hare_orm-0.9.0/hare/query/rows/values_rows/values_rows.py +175 -0
  1968. hare_orm-0.9.0/hare/query/scopes/__init__.py +21 -0
  1969. hare_orm-0.9.0/hare/query/scopes/constants.py +14 -0
  1970. hare_orm-0.9.0/hare/query/scopes/manager_scope.py +51 -0
  1971. hare_orm-0.9.0/hare/query/scopes/row_scope.py +46 -0
  1972. hare_orm-0.9.0/hare/query/scopes/row_scopes.py +281 -0
  1973. hare_orm-0.9.0/hare/query/scopes/row_visibility.py +89 -0
  1974. hare_orm-0.9.0/hare/query/scopes/scope_join_conditions.py +273 -0
  1975. hare_orm-0.9.0/hare/query/scopes/soft_delete_scope.py +17 -0
  1976. hare_orm-0.9.0/hare/query/scopes/tenants/__init__.py +1 -0
  1977. hare_orm-0.9.0/hare/query/scopes/tenants/all_tenants.py +11 -0
  1978. hare_orm-0.9.0/hare/query/scopes/tenants/model_tenants.py +79 -0
  1979. hare_orm-0.9.0/hare/query/scopes/tenants/tenant_scope.py +70 -0
  1980. hare_orm-0.9.0/hare/query/scopes/tenants/tenant_values.py +52 -0
  1981. hare_orm-0.9.0/hare/query/statements/__init__.py +30 -0
  1982. hare_orm-0.9.0/hare/query/statements/awaitable_query.py +709 -0
  1983. hare_orm-0.9.0/hare/query/statements/building/__init__.py +1 -0
  1984. hare_orm-0.9.0/hare/query/statements/building/keyset_bounds.py +179 -0
  1985. hare_orm-0.9.0/hare/query/statements/building/query_annotations.py +350 -0
  1986. hare_orm-0.9.0/hare/query/statements/building/query_conditions.py +244 -0
  1987. hare_orm-0.9.0/hare/query/statements/building/query_ctes.py +70 -0
  1988. hare_orm-0.9.0/hare/query/statements/building/query_grouping.py +347 -0
  1989. hare_orm-0.9.0/hare/query/statements/building/query_joins.py +282 -0
  1990. hare_orm-0.9.0/hare/query/statements/building/query_ordering.py +275 -0
  1991. hare_orm-0.9.0/hare/query/statements/building/row_locks.py +216 -0
  1992. hare_orm-0.9.0/hare/query/statements/constants.py +111 -0
  1993. hare_orm-0.9.0/hare/query/statements/select/__init__.py +4 -0
  1994. hare_orm-0.9.0/hare/query/statements/select/combined/__init__.py +1 -0
  1995. hare_orm-0.9.0/hare/query/statements/select/combined/combined_branches.py +380 -0
  1996. hare_orm-0.9.0/hare/query/statements/select/combined/combined_derived_queries.py +220 -0
  1997. hare_orm-0.9.0/hare/query/statements/select/combined/combined_plan_descriptions.py +43 -0
  1998. hare_orm-0.9.0/hare/query/statements/select/combined_query.py +354 -0
  1999. hare_orm-0.9.0/hare/query/statements/select/model_rows/__init__.py +1 -0
  2000. hare_orm-0.9.0/hare/query/statements/select/model_rows/instance_hydration.py +162 -0
  2001. hare_orm-0.9.0/hare/query/statements/select/model_rows/model_rows_plan_descriptions.py +108 -0
  2002. hare_orm-0.9.0/hare/query/statements/select/model_rows/only_defer_fields.py +243 -0
  2003. hare_orm-0.9.0/hare/query/statements/select/model_rows/select_related_joins.py +112 -0
  2004. hare_orm-0.9.0/hare/query/statements/select/model_rows_query.py +416 -0
  2005. hare_orm-0.9.0/hare/query/statements/select/raw_sql_query.py +151 -0
  2006. hare_orm-0.9.0/hare/query/statements/select/rows_query.py +210 -0
  2007. hare_orm-0.9.0/hare/query/statements/select/select_query.py +110 -0
  2008. hare_orm-0.9.0/hare/query/statements/select/values/__init__.py +1 -0
  2009. hare_orm-0.9.0/hare/query/statements/select/values/constants.py +9 -0
  2010. hare_orm-0.9.0/hare/query/statements/select/values/values_distinct.py +41 -0
  2011. hare_orm-0.9.0/hare/query/statements/select/values/values_grouping.py +118 -0
  2012. hare_orm-0.9.0/hare/query/statements/select/values/values_output.py +298 -0
  2013. hare_orm-0.9.0/hare/query/statements/select/values/values_reading.py +26 -0
  2014. hare_orm-0.9.0/hare/query/statements/select/values/window_filter_wrapping.py +91 -0
  2015. hare_orm-0.9.0/hare/query/statements/select/values_query.py +754 -0
  2016. hare_orm-0.9.0/hare/query/statements/summary/__init__.py +3 -0
  2017. hare_orm-0.9.0/hare/query/statements/summary/aggregate_query.py +732 -0
  2018. hare_orm-0.9.0/hare/query/statements/summary/contains_query.py +66 -0
  2019. hare_orm-0.9.0/hare/query/statements/summary/count_query.py +117 -0
  2020. hare_orm-0.9.0/hare/query/statements/summary/exists_query.py +151 -0
  2021. hare_orm-0.9.0/hare/query/statements/summary/rows_summary_query.py +187 -0
  2022. hare_orm-0.9.0/hare/query/statements/write/__init__.py +3 -0
  2023. hare_orm-0.9.0/hare/query/statements/write/bulk/__init__.py +1 -0
  2024. hare_orm-0.9.0/hare/query/statements/write/bulk/bulk_objects.py +61 -0
  2025. hare_orm-0.9.0/hare/query/statements/write/bulk/bulk_update_checks.py +92 -0
  2026. hare_orm-0.9.0/hare/query/statements/write/bulk/bulk_update_query.py +1012 -0
  2027. hare_orm-0.9.0/hare/query/statements/write/bulk/bulk_write_batches.py +368 -0
  2028. hare_orm-0.9.0/hare/query/statements/write/bulk/create/__init__.py +1 -0
  2029. hare_orm-0.9.0/hare/query/statements/write/bulk/create/bulk_create_query.py +936 -0
  2030. hare_orm-0.9.0/hare/query/statements/write/bulk/create/bulk_create_reports.py +316 -0
  2031. hare_orm-0.9.0/hare/query/statements/write/bulk/create/conflict_clause.py +137 -0
  2032. hare_orm-0.9.0/hare/query/statements/write/bulk/create/copy_insert.py +143 -0
  2033. hare_orm-0.9.0/hare/query/statements/write/bulk/create/default_rows_insert.py +85 -0
  2034. hare_orm-0.9.0/hare/query/statements/write/bulk/create/inline_insert.py +93 -0
  2035. hare_orm-0.9.0/hare/query/statements/write/bulk/create/multi_row_insert.py +277 -0
  2036. hare_orm-0.9.0/hare/query/statements/write/bulk/create/returned_rows_matching.py +136 -0
  2037. hare_orm-0.9.0/hare/query/statements/write/bulk/create/template_insert.py +185 -0
  2038. hare_orm-0.9.0/hare/query/statements/write/bulk/declarations.py +61 -0
  2039. hare_orm-0.9.0/hare/query/statements/write/create_or_update.py +193 -0
  2040. hare_orm-0.9.0/hare/query/statements/write/declarations.py +26 -0
  2041. hare_orm-0.9.0/hare/query/statements/write/delete_query.py +402 -0
  2042. hare_orm-0.9.0/hare/query/statements/write/insert_from_query.py +373 -0
  2043. hare_orm-0.9.0/hare/query/statements/write/matching_rows_query.py +268 -0
  2044. hare_orm-0.9.0/hare/query/statements/write/merge/__init__.py +1 -0
  2045. hare_orm-0.9.0/hare/query/statements/write/merge/merge_query.py +818 -0
  2046. hare_orm-0.9.0/hare/query/statements/write/merge/merge_when.py +87 -0
  2047. hare_orm-0.9.0/hare/query/statements/write/restore_query.py +105 -0
  2048. hare_orm-0.9.0/hare/query/statements/write/returning/__init__.py +1 -0
  2049. hare_orm-0.9.0/hare/query/statements/write/returning/delete_returning_query.py +154 -0
  2050. hare_orm-0.9.0/hare/query/statements/write/returning/returned_rows.py +246 -0
  2051. hare_orm-0.9.0/hare/query/statements/write/returning/update_returning_query.py +120 -0
  2052. hare_orm-0.9.0/hare/query/statements/write/update_query.py +851 -0
  2053. hare_orm-0.9.0/hare/search/__init__.py +29 -0
  2054. hare_orm-0.9.0/hare/search/constants.py +22 -0
  2055. hare_orm-0.9.0/hare/search/enums.py +26 -0
  2056. hare_orm-0.9.0/hare/search/query/__init__.py +8 -0
  2057. hare_orm-0.9.0/hare/search/query/combined_search_query.py +46 -0
  2058. hare_orm-0.9.0/hare/search/query/declarations.py +9 -0
  2059. hare_orm-0.9.0/hare/search/query/search_query.py +75 -0
  2060. hare_orm-0.9.0/hare/search/query/search_query_combinable.py +40 -0
  2061. hare_orm-0.9.0/hare/search/search_arguments.py +79 -0
  2062. hare_orm-0.9.0/hare/search/search_features.py +35 -0
  2063. hare_orm-0.9.0/hare/search/search_headline.py +186 -0
  2064. hare_orm-0.9.0/hare/search/search_rank.py +144 -0
  2065. hare_orm-0.9.0/hare/search/types.py +16 -0
  2066. hare_orm-0.9.0/hare/search/vector/__init__.py +7 -0
  2067. hare_orm-0.9.0/hare/search/vector/combined_search_vector.py +32 -0
  2068. hare_orm-0.9.0/hare/search/vector/search_vector.py +77 -0
  2069. hare_orm-0.9.0/hare/search/vector/search_vector_combinable.py +30 -0
  2070. hare_orm-0.9.0/hare/sql/__init__.py +71 -0
  2071. hare_orm-0.9.0/hare/sql/analytics/__init__.py +17 -0
  2072. hare_orm-0.9.0/hare/sql/analytics/count.py +13 -0
  2073. hare_orm-0.9.0/hare/sql/analytics/current_row.py +10 -0
  2074. hare_orm-0.9.0/hare/sql/analytics/declarations.py +15 -0
  2075. hare_orm-0.9.0/hare/sql/analytics/row_number.py +13 -0
  2076. hare_orm-0.9.0/hare/sql/builder/__init__.py +29 -0
  2077. hare_orm-0.9.0/hare/sql/builder/joins/__init__.py +16 -0
  2078. hare_orm-0.9.0/hare/sql/builder/joins/join.py +71 -0
  2079. hare_orm-0.9.0/hare/sql/builder/joins/join_on.py +73 -0
  2080. hare_orm-0.9.0/hare/sql/builder/joins/joiner.py +38 -0
  2081. hare_orm-0.9.0/hare/sql/builder/queries/__init__.py +17 -0
  2082. hare_orm-0.9.0/hare/sql/builder/queries/constants.py +5 -0
  2083. hare_orm-0.9.0/hare/sql/builder/queries/correlated_subqueries.py +583 -0
  2084. hare_orm-0.9.0/hare/sql/builder/queries/pagination_sql.py +19 -0
  2085. hare_orm-0.9.0/hare/sql/builder/queries/query.py +109 -0
  2086. hare_orm-0.9.0/hare/sql/builder/queries/query_builder.py +1090 -0
  2087. hare_orm-0.9.0/hare/sql/builder/queries/query_sql_rendering.py +407 -0
  2088. hare_orm-0.9.0/hare/sql/builder/queries/set_operation_query.py +203 -0
  2089. hare_orm-0.9.0/hare/sql/builder/returned_value.py +19 -0
  2090. hare_orm-0.9.0/hare/sql/builder/tables/__init__.py +22 -0
  2091. hare_orm-0.9.0/hare/sql/builder/tables/aliased_query.py +33 -0
  2092. hare_orm-0.9.0/hare/sql/builder/tables/array_join_source.py +39 -0
  2093. hare_orm-0.9.0/hare/sql/builder/tables/asof_join_source.py +29 -0
  2094. hare_orm-0.9.0/hare/sql/builder/tables/cte.py +18 -0
  2095. hare_orm-0.9.0/hare/sql/builder/tables/database.py +12 -0
  2096. hare_orm-0.9.0/hare/sql/builder/tables/json_table_query.py +76 -0
  2097. hare_orm-0.9.0/hare/sql/builder/tables/lateral_query.py +26 -0
  2098. hare_orm-0.9.0/hare/sql/builder/tables/schema.py +42 -0
  2099. hare_orm-0.9.0/hare/sql/builder/tables/selectable.py +83 -0
  2100. hare_orm-0.9.0/hare/sql/builder/tables/table.py +170 -0
  2101. hare_orm-0.9.0/hare/sql/builder_methods.py +56 -0
  2102. hare_orm-0.9.0/hare/sql/constants.py +87 -0
  2103. hare_orm-0.9.0/hare/sql/enums.py +211 -0
  2104. hare_orm-0.9.0/hare/sql/exceptions.py +31 -0
  2105. hare_orm-0.9.0/hare/sql/functions/__init__.py +81 -0
  2106. hare_orm-0.9.0/hare/sql/functions/address_text.py +18 -0
  2107. hare_orm-0.9.0/hare/sql/functions/cast.py +19 -0
  2108. hare_orm-0.9.0/hare/sql/functions/cast_to.py +38 -0
  2109. hare_orm-0.9.0/hare/sql/functions/coalesce.py +13 -0
  2110. hare_orm-0.9.0/hare/sql/functions/count.py +14 -0
  2111. hare_orm-0.9.0/hare/sql/functions/datetime/__init__.py +1 -0
  2112. hare_orm-0.9.0/hare/sql/functions/datetime/date.py +16 -0
  2113. hare_orm-0.9.0/hare/sql/functions/datetime/date_as_timestamp.py +23 -0
  2114. hare_orm-0.9.0/hare/sql/functions/datetime/date_trunc.py +65 -0
  2115. hare_orm-0.9.0/hare/sql/functions/datetime/datetime_as_text.py +16 -0
  2116. hare_orm-0.9.0/hare/sql/functions/datetime/datetime_cast.py +68 -0
  2117. hare_orm-0.9.0/hare/sql/functions/datetime/extract.py +92 -0
  2118. hare_orm-0.9.0/hare/sql/functions/datetime/now.py +14 -0
  2119. hare_orm-0.9.0/hare/sql/functions/datetime/temporal_difference.py +26 -0
  2120. hare_orm-0.9.0/hare/sql/functions/datetime/temporal_shift.py +38 -0
  2121. hare_orm-0.9.0/hare/sql/functions/datetime/timestamp_comparand.py +18 -0
  2122. hare_orm-0.9.0/hare/sql/functions/declarations.py +19 -0
  2123. hare_orm-0.9.0/hare/sql/functions/distinct_option_function.py +33 -0
  2124. hare_orm-0.9.0/hare/sql/functions/greatest_least.py +25 -0
  2125. hare_orm-0.9.0/hare/sql/functions/grouping_function.py +13 -0
  2126. hare_orm-0.9.0/hare/sql/functions/json/__init__.py +1 -0
  2127. hare_orm-0.9.0/hare/sql/functions/json/json_array.py +14 -0
  2128. hare_orm-0.9.0/hare/sql/functions/json/json_object.py +14 -0
  2129. hare_orm-0.9.0/hare/sql/functions/json/json_sort_key.py +15 -0
  2130. hare_orm-0.9.0/hare/sql/functions/json/json_value.py +19 -0
  2131. hare_orm-0.9.0/hare/sql/functions/numeric_cast.py +16 -0
  2132. hare_orm-0.9.0/hare/sql/functions/random_number.py +13 -0
  2133. hare_orm-0.9.0/hare/sql/functions/round.py +20 -0
  2134. hare_orm-0.9.0/hare/sql/functions/statistic.py +20 -0
  2135. hare_orm-0.9.0/hare/sql/functions/std_dev.py +13 -0
  2136. hare_orm-0.9.0/hare/sql/functions/text/__init__.py +1 -0
  2137. hare_orm-0.9.0/hare/sql/functions/text/collate.py +61 -0
  2138. hare_orm-0.9.0/hare/sql/functions/text/concat.py +18 -0
  2139. hare_orm-0.9.0/hare/sql/functions/text/concat_function.py +53 -0
  2140. hare_orm-0.9.0/hare/sql/functions/text/decimal_text_collate.py +16 -0
  2141. hare_orm-0.9.0/hare/sql/functions/text/lower.py +12 -0
  2142. hare_orm-0.9.0/hare/sql/functions/text/replace.py +12 -0
  2143. hare_orm-0.9.0/hare/sql/functions/text/upper.py +12 -0
  2144. hare_orm-0.9.0/hare/sql/identifiers.py +61 -0
  2145. hare_orm-0.9.0/hare/sql/sql_context.py +155 -0
  2146. hare_orm-0.9.0/hare/sql/terms/__init__.py +90 -0
  2147. hare_orm-0.9.0/hare/sql/terms/arithmetic_expression.py +120 -0
  2148. hare_orm-0.9.0/hare/sql/terms/array.py +109 -0
  2149. hare_orm-0.9.0/hare/sql/terms/bracket.py +12 -0
  2150. hare_orm-0.9.0/hare/sql/terms/case/__init__.py +1 -0
  2151. hare_orm-0.9.0/hare/sql/terms/case/case.py +123 -0
  2152. hare_orm-0.9.0/hare/sql/terms/case/when_then.py +11 -0
  2153. hare_orm-0.9.0/hare/sql/terms/constants.py +5 -0
  2154. hare_orm-0.9.0/hare/sql/terms/containers/__init__.py +35 -0
  2155. hare_orm-0.9.0/hare/sql/terms/containers/array_element_term.py +58 -0
  2156. hare_orm-0.9.0/hare/sql/terms/containers/array_slice_term.py +28 -0
  2157. hare_orm-0.9.0/hare/sql/terms/containers/constants.py +6 -0
  2158. hare_orm-0.9.0/hare/sql/terms/containers/container_function.py +22 -0
  2159. hare_orm-0.9.0/hare/sql/terms/containers/container_literal.py +37 -0
  2160. hare_orm-0.9.0/hare/sql/terms/containers/declarations.py +47 -0
  2161. hare_orm-0.9.0/hare/sql/terms/containers/map_value_term.py +30 -0
  2162. hare_orm-0.9.0/hare/sql/terms/containers/tuple_element_term.py +21 -0
  2163. hare_orm-0.9.0/hare/sql/terms/criteria/__init__.py +37 -0
  2164. hare_orm-0.9.0/hare/sql/terms/criteria/basic_criterion.py +92 -0
  2165. hare_orm-0.9.0/hare/sql/terms/criteria/between_criterion.py +39 -0
  2166. hare_orm-0.9.0/hare/sql/terms/criteria/complex_criterion.py +47 -0
  2167. hare_orm-0.9.0/hare/sql/terms/criteria/contains_criterion.py +81 -0
  2168. hare_orm-0.9.0/hare/sql/terms/criteria/criterion.py +87 -0
  2169. hare_orm-0.9.0/hare/sql/terms/criteria/empty_criterion.py +38 -0
  2170. hare_orm-0.9.0/hare/sql/terms/criteria/is_distinct_from_criterion.py +52 -0
  2171. hare_orm-0.9.0/hare/sql/terms/criteria/is_not_true_criterion.py +49 -0
  2172. hare_orm-0.9.0/hare/sql/terms/criteria/json_attribute_criterion.py +62 -0
  2173. hare_orm-0.9.0/hare/sql/terms/criteria/like.py +56 -0
  2174. hare_orm-0.9.0/hare/sql/terms/criteria/nested_criterion.py +78 -0
  2175. hare_orm-0.9.0/hare/sql/terms/criteria/not_criterion.py +78 -0
  2176. hare_orm-0.9.0/hare/sql/terms/criteria/null_criterion.py +47 -0
  2177. hare_orm-0.9.0/hare/sql/terms/criteria/range_criterion.py +28 -0
  2178. hare_orm-0.9.0/hare/sql/terms/criteria/true_criterion.py +13 -0
  2179. hare_orm-0.9.0/hare/sql/terms/field.py +65 -0
  2180. hare_orm-0.9.0/hare/sql/terms/functions/__init__.py +30 -0
  2181. hare_orm-0.9.0/hare/sql/terms/functions/aggregate_function.py +119 -0
  2182. hare_orm-0.9.0/hare/sql/terms/functions/analytic_function.py +107 -0
  2183. hare_orm-0.9.0/hare/sql/terms/functions/custom_function.py +39 -0
  2184. hare_orm-0.9.0/hare/sql/terms/functions/decimal_mod.py +27 -0
  2185. hare_orm-0.9.0/hare/sql/terms/functions/float_mod.py +24 -0
  2186. hare_orm-0.9.0/hare/sql/terms/functions/function.py +131 -0
  2187. hare_orm-0.9.0/hare/sql/terms/functions/interval.py +110 -0
  2188. hare_orm-0.9.0/hare/sql/terms/functions/mod.py +22 -0
  2189. hare_orm-0.9.0/hare/sql/terms/functions/pow.py +11 -0
  2190. hare_orm-0.9.0/hare/sql/terms/functions/window_frame_analytic_function.py +78 -0
  2191. hare_orm-0.9.0/hare/sql/terms/grouping/__init__.py +14 -0
  2192. hare_orm-0.9.0/hare/sql/terms/grouping/declarations.py +17 -0
  2193. hare_orm-0.9.0/hare/sql/terms/grouping/grouping_element.py +42 -0
  2194. hare_orm-0.9.0/hare/sql/terms/grouping/grouping_sets_element.py +46 -0
  2195. hare_orm-0.9.0/hare/sql/terms/index.py +15 -0
  2196. hare_orm-0.9.0/hare/sql/terms/infix_operator.py +34 -0
  2197. hare_orm-0.9.0/hare/sql/terms/json.py +100 -0
  2198. hare_orm-0.9.0/hare/sql/terms/negative.py +49 -0
  2199. hare_orm-0.9.0/hare/sql/terms/node.py +135 -0
  2200. hare_orm-0.9.0/hare/sql/terms/parameters/__init__.py +1 -0
  2201. hare_orm-0.9.0/hare/sql/terms/parameters/list_parameter.py +33 -0
  2202. hare_orm-0.9.0/hare/sql/terms/parameters/parameter.py +35 -0
  2203. hare_orm-0.9.0/hare/sql/terms/parameters/parameterized_value_wrapper.py +19 -0
  2204. hare_orm-0.9.0/hare/sql/terms/parameters/parameterizer.py +99 -0
  2205. hare_orm-0.9.0/hare/sql/terms/parameters/query_parameters.py +74 -0
  2206. hare_orm-0.9.0/hare/sql/terms/parameters/recording_parameterizer.py +27 -0
  2207. hare_orm-0.9.0/hare/sql/terms/qualified_outer_field.py +58 -0
  2208. hare_orm-0.9.0/hare/sql/terms/select_reference.py +80 -0
  2209. hare_orm-0.9.0/hare/sql/terms/star.py +30 -0
  2210. hare_orm-0.9.0/hare/sql/terms/subqueries/__init__.py +1 -0
  2211. hare_orm-0.9.0/hare/sql/terms/subqueries/exists_term.py +111 -0
  2212. hare_orm-0.9.0/hare/sql/terms/subqueries/outer_aggregate_term.py +51 -0
  2213. hare_orm-0.9.0/hare/sql/terms/term.py +334 -0
  2214. hare_orm-0.9.0/hare/sql/terms/term_identity_text.py +60 -0
  2215. hare_orm-0.9.0/hare/sql/terms/tuple.py +52 -0
  2216. hare_orm-0.9.0/hare/sql/terms/values/__init__.py +1 -0
  2217. hare_orm-0.9.0/hare/sql/terms/values/literal_value.py +21 -0
  2218. hare_orm-0.9.0/hare/sql/terms/values/null_value.py +10 -0
  2219. hare_orm-0.9.0/hare/sql/terms/values/old_row_value.py +28 -0
  2220. hare_orm-0.9.0/hare/sql/terms/values/row_value_list.py +15 -0
  2221. hare_orm-0.9.0/hare/sql/terms/values/value_wrapper.py +129 -0
  2222. hare_orm-0.9.0/hare/sql/types/__init__.py +1 -0
  2223. hare_orm-0.9.0/hare/sql/types/sql_type.py +13 -0
  2224. hare_orm-0.9.0/hare/sql/types/sql_types.py +17 -0
  2225. hare_orm-0.9.0/hare/stubs/__init__.py +2 -0
  2226. hare_orm-0.9.0/hare/stubs/constants.py +18 -0
  2227. hare_orm-0.9.0/hare/stubs/model_stub.py +415 -0
  2228. hare_orm-0.9.0/hare/stubs/module_stub.py +150 -0
  2229. hare_orm-0.9.0/hare/stubs/stub_imports.py +91 -0
  2230. hare_orm-0.9.0/hare/stubs/stub_writer.py +60 -0
  2231. hare_orm-0.9.0/hare/stubs/value_type_text.py +98 -0
  2232. hare_orm-0.9.0/hare/time/__init__.py +12 -0
  2233. hare_orm-0.9.0/hare/time/constants.py +27 -0
  2234. hare_orm-0.9.0/hare/time/system_clock.py +84 -0
  2235. hare_orm-0.9.0/hare/time/timezone.py +534 -0
  2236. hare_orm-0.9.0/hare/time/zone_info.py +13 -0
  2237. hare_orm-0.9.0/hare/transactions/__init__.py +25 -0
  2238. hare_orm-0.9.0/hare/transactions/atomic/__init__.py +1 -0
  2239. hare_orm-0.9.0/hare/transactions/atomic/atomic.py +138 -0
  2240. hare_orm-0.9.0/hare/transactions/atomic/atomic_attempt.py +62 -0
  2241. hare_orm-0.9.0/hare/transactions/atomic/atomic_attempts.py +73 -0
  2242. hare_orm-0.9.0/hare/transactions/constants.py +41 -0
  2243. hare_orm-0.9.0/hare/transactions/distributed/__init__.py +9 -0
  2244. hare_orm-0.9.0/hare/transactions/distributed/declarations.py +32 -0
  2245. hare_orm-0.9.0/hare/transactions/distributed/distributed_coordinator.py +784 -0
  2246. hare_orm-0.9.0/hare/transactions/distributed/distributed_transactions.py +26 -0
  2247. hare_orm-0.9.0/hare/transactions/distributed/stale_prepared_transaction.py +23 -0
  2248. hare_orm-0.9.0/hare/transactions/enums.py +31 -0
  2249. hare_orm-0.9.0/hare/transactions/transaction_options.py +86 -0
  2250. hare_orm-0.9.0/hare/transactions/transactions.py +228 -0
  2251. hare_orm-0.9.0/hare/typing_info/__init__.py +3 -0
  2252. hare_orm-0.9.0/hare/typing_info/bound_models.py +73 -0
  2253. hare_orm-0.9.0/hare/typing_info/constants.py +13 -0
  2254. hare_orm-0.9.0/hare/typing_info/declarations.py +44 -0
  2255. hare_orm-0.9.0/hare/typing_info/filter_value_types.py +144 -0
  2256. hare_orm-0.9.0/hare/vectors/__init__.py +18 -0
  2257. hare_orm-0.9.0/hare/vectors/constants.py +10 -0
  2258. hare_orm-0.9.0/hare/vectors/declarations.py +41 -0
  2259. hare_orm-0.9.0/hare/vectors/enums.py +14 -0
  2260. hare_orm-0.9.0/hare/vectors/terms/__init__.py +6 -0
  2261. hare_orm-0.9.0/hare/vectors/terms/vector_distance_term.py +22 -0
  2262. hare_orm-0.9.0/hare/vectors/terms/vector_literal.py +18 -0
  2263. hare_orm-0.9.0/hare/vectors/vector_distance_expression.py +107 -0
  2264. hare_orm-0.9.0/hare/vectors/vector_field.py +147 -0
  2265. hare_orm-0.9.0/hare/warnings.py +13 -0
  2266. hare_orm-0.9.0/pyproject.toml +340 -0
hare_orm-0.9.0/LICENSE ADDED
@@ -0,0 +1,27 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Vladislav Yaremenko and hare-orm contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+
25
+ hare-orm began as a fork of Tortoise ORM and vendors an adapted copy of
26
+ PyPika's query-builder internals (see NOTICE.md for the required Apache
27
+ License 2.0 attribution covering both).
@@ -0,0 +1,96 @@
1
+ # Third-party notices
2
+
3
+ [Русская версия](NOTICE.ru.md)
4
+
5
+ hare-orm is MIT-licensed (see [LICENSE](LICENSE)), but it began life as a fork of, and still
6
+ carries adapted code from, two Apache License 2.0 projects, and parts of its Rust PostgreSQL
7
+ driver are adapted from an MIT-licensed one. Both licenses allow this as long as the original
8
+ copyright and license notices are kept for the carried-over portions. That's what this file does.
9
+
10
+ ## Tortoise ORM
11
+
12
+ hare-orm's model layer, migration system, and general API shape (`Model`, `QuerySet`, `Meta`,
13
+ field types, the CLI) started as a fork of [Tortoise ORM](https://github.com/tortoise/tortoise-orm).
14
+ Large parts have since been substantially rewritten or replaced (the query engine, the dialect
15
+ system, the Rust PostgreSQL driver, composite primary keys, versioning, soft delete, the
16
+ constraint/trigger system, and more), but code and design carried over from the original project
17
+ remains subject to its license:
18
+
19
+ ```text
20
+ Copyright (c) Tortoise ORM contributors
21
+
22
+ Licensed under the Apache License, Version 2.0 (the "License");
23
+ you may not use this file except in compliance with the License.
24
+ You may obtain a copy of the License at
25
+
26
+ http://www.apache.org/licenses/LICENSE-2.0
27
+
28
+ Unless required by applicable law or agreed to in writing, software
29
+ distributed under the License is distributed on an "AS IS" BASIS,
30
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
31
+ See the License for the specific language governing permissions and
32
+ limitations under the License.
33
+ ```
34
+
35
+ ## PyPika
36
+
37
+ `hare/sql/` (the internal query builder — `Query`, `Table`, `Field`, `Criterion`, the SQL
38
+ context a dialect renders with) is an adapted copy of [PyPika](https://github.com/kayak/pypika)'s query-construction
39
+ internals, extended with hare-orm-specific dialect and expression support. Also Apache License
40
+ 2.0:
41
+
42
+ ```text
43
+ Copyright (c) 2016 KAYAK Germany, GmbH
44
+
45
+ Licensed under the Apache License, Version 2.0 (the "License");
46
+ you may not use this file except in compliance with the License.
47
+ You may obtain a copy of the License at
48
+
49
+ http://www.apache.org/licenses/LICENSE-2.0
50
+
51
+ Unless required by applicable law or agreed to in writing, software
52
+ distributed under the License is distributed on an "AS IS" BASIS,
53
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
54
+ See the License for the specific language governing permissions and
55
+ limitations under the License.
56
+ ```
57
+
58
+ ## yara-orm
59
+
60
+ The Rust PostgreSQL driver (`hare.dialects.postgresql.drivers.rust_pg`, `rust/native/src/pg/`) is
61
+ mostly hare-orm's own code. Its design was inspired by the Rust PostgreSQL backend of
62
+ [yara-orm](https://github.com/vsdudakov/yara-orm), an open-source ORM under the MIT License, and
63
+ these parts of it are adapted from yara-orm's code:
64
+
65
+ - in `rust/native/src/pg/client.rs` — the TLS connection setup (the certificate checks and the
66
+ connector built from them) and the unification of parameter types across the rows of
67
+ `execute_many`;
68
+ - in `rust/native/src/pg/value/` (`mod.rs`, `from_python.rs`, `into_python.rs`) — the base of the
69
+ `Value` type: its variants and their conversion to and from Python objects;
70
+ - in `rust/native/src/pg/error.rs` — the driver's error type.
71
+
72
+ Those parts remain subject to its license:
73
+
74
+ ```text
75
+ MIT License
76
+
77
+ Copyright (c) 2026 yara-orm contributors
78
+
79
+ Permission is hereby granted, free of charge, to any person obtaining a copy
80
+ of this software and associated documentation files (the "Software"), to deal
81
+ in the Software without restriction, including without limitation the rights
82
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
83
+ copies of the Software, and to permit persons to whom the Software is
84
+ furnished to do so, subject to the following conditions:
85
+
86
+ The above copyright notice and this permission notice shall be included in all
87
+ copies or substantial portions of the Software.
88
+
89
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
90
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
91
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
92
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
93
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
94
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
95
+ SOFTWARE.
96
+ ```
@@ -0,0 +1,98 @@
1
+ # Уведомления о стороннем коде
2
+
3
+ [English](NOTICE.md)
4
+
5
+ hare-orm распространяется по лицензии MIT (см. [LICENSE](LICENSE)), но начиналась как форк двух
6
+ проектов под лицензией Apache 2.0 и до сих пор содержит переработанный код из них, а части её
7
+ драйвера PostgreSQL на Rust переработаны из проекта под лицензией MIT. Обе лицензии это разрешают
8
+ при условии, что для перенесённых частей сохранены исходные уведомления об авторских правах и
9
+ лицензии. Этот файл их и сохраняет.
10
+
11
+ Тексты уведомлений ниже приведены дословно, на языке оригинала.
12
+
13
+ ## Tortoise ORM
14
+
15
+ Слой моделей hare-orm, система миграций и общий вид API (`Model`, `QuerySet`, `Meta`, типы полей,
16
+ командная строка) начинались как форк [Tortoise ORM](https://github.com/tortoise/tortoise-orm).
17
+ С тех пор большие части существенно переписаны или заменены (движок запросов, система диалектов,
18
+ драйвер PostgreSQL на Rust, составные первичные ключи, версии, мягкое удаление, система ограничений
19
+ и триггеров и многое другое), но код и решения, перенесённые из исходного проекта, остаются под
20
+ его лицензией:
21
+
22
+ ```text
23
+ Copyright (c) Tortoise ORM contributors
24
+
25
+ Licensed under the Apache License, Version 2.0 (the "License");
26
+ you may not use this file except in compliance with the License.
27
+ You may obtain a copy of the License at
28
+
29
+ http://www.apache.org/licenses/LICENSE-2.0
30
+
31
+ Unless required by applicable law or agreed to in writing, software
32
+ distributed under the License is distributed on an "AS IS" BASIS,
33
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
34
+ See the License for the specific language governing permissions and
35
+ limitations under the License.
36
+ ```
37
+
38
+ ## PyPika
39
+
40
+ `hare/sql/` (внутренний построитель запросов — `Query`, `Table`, `Field`, `Criterion`, контекст SQL,
41
+ которым рендерит диалект) — переработанная копия внутреннего устройства построения запросов
42
+ [PyPika](https://github.com/kayak/pypika), дополненная поддержкой диалектов и выражений hare-orm.
43
+ Тоже лицензия Apache 2.0:
44
+
45
+ ```text
46
+ Copyright (c) 2016 KAYAK Germany, GmbH
47
+
48
+ Licensed under the Apache License, Version 2.0 (the "License");
49
+ you may not use this file except in compliance with the License.
50
+ You may obtain a copy of the License at
51
+
52
+ http://www.apache.org/licenses/LICENSE-2.0
53
+
54
+ Unless required by applicable law or agreed to in writing, software
55
+ distributed under the License is distributed on an "AS IS" BASIS,
56
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
57
+ See the License for the specific language governing permissions and
58
+ limitations under the License.
59
+ ```
60
+
61
+ ## yara-orm
62
+
63
+ Драйвер PostgreSQL на Rust (`hare.dialects.postgresql.drivers.rust_pg`, `rust/native/src/pg/`) —
64
+ в основном собственный код hare-orm. Его устройство создано по образцу бэкенда PostgreSQL на Rust
65
+ проекта [yara-orm](https://github.com/vsdudakov/yara-orm), открытой ORM под лицензией MIT, и эти его
66
+ части переработаны из кода yara-orm:
67
+
68
+ - в `rust/native/src/pg/client.rs` — настройка TLS-подключения (проверки сертификата и сборка
69
+ подключения по ним) и приведение типов параметров к общему типу по всем строкам `execute_many`;
70
+ - в `rust/native/src/pg/value/` (`mod.rs`, `from_python.rs`, `into_python.rs`) — основа типа
71
+ `Value`: его варианты и их преобразование в объекты Python и обратно;
72
+ - в `rust/native/src/pg/error.rs` — тип ошибок драйвера.
73
+
74
+ На эти части по-прежнему распространяется его лицензия:
75
+
76
+ ```text
77
+ MIT License
78
+
79
+ Copyright (c) 2026 yara-orm contributors
80
+
81
+ Permission is hereby granted, free of charge, to any person obtaining a copy
82
+ of this software and associated documentation files (the "Software"), to deal
83
+ in the Software without restriction, including without limitation the rights
84
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
85
+ copies of the Software, and to permit persons to whom the Software is
86
+ furnished to do so, subject to the following conditions:
87
+
88
+ The above copyright notice and this permission notice shall be included in all
89
+ copies or substantial portions of the Software.
90
+
91
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
92
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
93
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
94
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
95
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
96
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
97
+ SOFTWARE.
98
+ ```
@@ -0,0 +1,321 @@
1
+ Metadata-Version: 2.3
2
+ Name: hare-orm
3
+ Version: 0.9.0
4
+ Summary: An async Python ORM for PostgreSQL, SQLite and ClickHouse, built with relations in mind
5
+ License: MIT
6
+ Keywords: orm,async,asyncio,database,sql,postgresql,sqlite,clickhouse,asyncpg,aiosqlite,migrations,pydantic,rust
7
+ Author: Vladislav Yaremenko
8
+ Author-email: vlad.yaremenko.98@yandex.ru
9
+ Requires-Python: >=3.12
10
+ Classifier: License :: OSI Approved :: MIT License
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
17
+ Classifier: Programming Language :: Python :: Implementation :: CPython
18
+ Classifier: Programming Language :: Rust
19
+ Classifier: Framework :: AsyncIO
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Classifier: Topic :: Database
22
+ Classifier: Typing :: Typed
23
+ Classifier: Operating System :: POSIX
24
+ Classifier: Operating System :: MacOS :: MacOS X
25
+ Classifier: Operating System :: Microsoft :: Windows
26
+ Provides-Extra: asyncpg
27
+ Provides-Extra: clickhouse-connect
28
+ Provides-Extra: clickhouse-driver
29
+ Provides-Extra: encryption
30
+ Provides-Extra: fastapi
31
+ Provides-Extra: http
32
+ Provides-Extra: ipython
33
+ Provides-Extra: kafka
34
+ Provides-Extra: litestar
35
+ Provides-Extra: mypy
36
+ Provides-Extra: opentelemetry
37
+ Provides-Extra: phone
38
+ Provides-Extra: pyright
39
+ Provides-Extra: pytest
40
+ Provides-Extra: rabbitmq
41
+ Provides-Extra: redis
42
+ Provides-Extra: request-query
43
+ Provides-Extra: robyn
44
+ Provides-Extra: sqlite-vec
45
+ Provides-Extra: taskiq
46
+ Provides-Extra: tzlocal
47
+ Requires-Dist: aio-pika (>=9.4) ; (python_version < "4.0") and (extra == "rabbitmq")
48
+ Requires-Dist: aiokafka (>=0.12) ; (python_version < "3.14") and (extra == "kafka")
49
+ Requires-Dist: aiokafka (>=0.13) ; (python_version >= "3.14") and (extra == "kafka")
50
+ Requires-Dist: aiosqlite (>=0.22.0,<1.0.0)
51
+ Requires-Dist: anyio (>=4.0.0)
52
+ Requires-Dist: asyncpg (>=0.30.0) ; (python_version < "3.14") and (extra == "asyncpg")
53
+ Requires-Dist: asyncpg (>=0.31.0) ; (python_version >= "3.14") and (extra == "asyncpg")
54
+ Requires-Dist: ciso8601 (>=2.3.2) ; sys_platform != "win32" and implementation_name == "cpython" and python_version < "3.13"
55
+ Requires-Dist: ciso8601 (>=2.3.3) ; sys_platform != "win32" and implementation_name == "cpython" and python_version >= "3.13"
56
+ Requires-Dist: clickhouse-cityhash (>=1.0.2.5) ; (python_version < "3.15") and (extra == "clickhouse-driver")
57
+ Requires-Dist: clickhouse-connect[async] (>=1.10.0) ; (python_version < "3.15") and (extra == "clickhouse-connect")
58
+ Requires-Dist: clickhouse-driver (>=0.2.11) ; (python_version < "3.15") and (extra == "clickhouse-driver")
59
+ Requires-Dist: cryptography (>=42.0) ; extra == "encryption"
60
+ Requires-Dist: fastapi (>=0.135) ; (python_version < "4.0") and (extra == "fastapi")
61
+ Requires-Dist: httpx (>=0.27) ; extra == "http"
62
+ Requires-Dist: ipython (>=8.18.0) ; extra == "ipython"
63
+ Requires-Dist: iso8601 (>=2.1.0,<3.0.0) ; python_version < "4.0"
64
+ Requires-Dist: litestar (>=2.23,<3.0) ; (python_version < "4.0") and (extra == "litestar")
65
+ Requires-Dist: lz4 (>=4.3.3) ; (python_version < "3.13") and (extra == "clickhouse-driver")
66
+ Requires-Dist: lz4 (>=4.4.4) ; (python_version == "3.13") and (extra == "clickhouse-driver")
67
+ Requires-Dist: lz4 (>=4.4.5) ; (python_version >= "3.14") and (extra == "clickhouse-driver")
68
+ Requires-Dist: mypy (>=1.16,!=1.18.1) ; extra == "mypy"
69
+ Requires-Dist: mypy (>=1.16,!=1.18.1) ; extra == "pyright"
70
+ Requires-Dist: nest-asyncio (>=1.6.0) ; extra == "ipython"
71
+ Requires-Dist: opentelemetry-api (>=1.20) ; extra == "opentelemetry"
72
+ Requires-Dist: opentelemetry-sdk (>=1.20) ; extra == "opentelemetry"
73
+ Requires-Dist: orjson (>=3.12.0)
74
+ Requires-Dist: phonenumbers (>=8.13) ; extra == "phone"
75
+ Requires-Dist: pydantic (>=2.10.1) ; (python_version < "3.14") and (extra == "fastapi")
76
+ Requires-Dist: pydantic (>=2.10.1) ; (python_version < "3.14") and (extra == "litestar")
77
+ Requires-Dist: pydantic (>=2.10.1) ; (python_version < "3.14") and (extra == "request-query")
78
+ Requires-Dist: pydantic (>=2.10.1) ; (python_version < "3.14") and (extra == "robyn")
79
+ Requires-Dist: pydantic (>=2.12) ; (python_version >= "3.14") and (extra == "fastapi")
80
+ Requires-Dist: pydantic (>=2.12) ; (python_version >= "3.14") and (extra == "litestar")
81
+ Requires-Dist: pydantic (>=2.12) ; (python_version >= "3.14") and (extra == "request-query")
82
+ Requires-Dist: pydantic (>=2.12) ; (python_version >= "3.14") and (extra == "robyn")
83
+ Requires-Dist: pytest (>=8.2) ; extra == "pytest"
84
+ Requires-Dist: pytest-asyncio (>=1.2) ; extra == "pytest"
85
+ Requires-Dist: redis (>=5.0) ; extra == "redis"
86
+ Requires-Dist: robyn (>=0.88,<0.89) ; (python_version < "4.0") and (extra == "robyn")
87
+ Requires-Dist: sqlite-vec (>=0.1.6) ; extra == "sqlite-vec"
88
+ Requires-Dist: taskiq (>=0.12.2) ; (python_version < "4.0") and (extra == "taskiq")
89
+ Requires-Dist: typing-extensions (>=4.12.0)
90
+ Requires-Dist: tzdata (>=2023.3) ; sys_platform == "win32"
91
+ Requires-Dist: tzlocal (>=5.0) ; extra == "tzlocal"
92
+ Project-URL: Changelog, https://github.com/hare-orm/hare-orm/blob/main/CHANGELOG.md
93
+ Project-URL: Documentation, https://hare-orm.github.io/hare-orm/
94
+ Project-URL: Homepage, https://github.com/hare-orm/hare-orm
95
+ Project-URL: Issues, https://github.com/hare-orm/hare-orm/issues
96
+ Project-URL: Repository, https://github.com/hare-orm/hare-orm
97
+ Description-Content-Type: text/markdown
98
+
99
+ <h1 align="center">
100
+ <picture>
101
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/hare-orm/hare-orm/17e129097eceb00dbf932c67246dfee9801a96e2/docs/assets/readme-banner-dark.png">
102
+ <img src="https://raw.githubusercontent.com/hare-orm/hare-orm/17e129097eceb00dbf932c67246dfee9801a96e2/docs/assets/readme-banner-light.png" alt="hare-orm" width="600">
103
+ </picture>
104
+ </h1>
105
+
106
+ <p align="center"><a href="https://github.com/hare-orm/hare-orm/blob/17e129097eceb00dbf932c67246dfee9801a96e2/README.ru.md">Русский</a></p>
107
+
108
+ <p align="center">
109
+ <a href="https://github.com/hare-orm/hare-orm/actions/workflows/ci.yml"><img src="https://github.com/hare-orm/hare-orm/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
110
+ <a href="https://hare-orm.github.io/hare-orm/"><img src="https://img.shields.io/badge/docs-hare--orm.github.io%2Fhare--orm-blue" alt="Docs"></a>
111
+ <a href="https://github.com/hare-orm/hare-orm/blob/17e129097eceb00dbf932c67246dfee9801a96e2/LICENSE"><img src="https://img.shields.io/badge/license-MIT-blue.svg" alt="License: MIT"></a>
112
+ <a href="https://github.com/hare-orm/hare-orm/blob/17e129097eceb00dbf932c67246dfee9801a96e2/pyproject.toml"><img src="https://img.shields.io/badge/python-3.12%20%7C%203.13%20%7C%203.14-blue.svg" alt="Python 3.12, 3.13, 3.14"></a>
113
+ </p>
114
+
115
+ An async Python ORM for PostgreSQL, SQLite and ClickHouse, built with relations in mind. Models are
116
+ plain classes, queries are built lazily through a `QuerySet`, and migrations are generated from the
117
+ changes to the models. Coming from Django? See [Coming from Django](https://hare-orm.github.io/hare-orm/getting-started/coming-from-django/).
118
+
119
+ - **Fast.** A Rust PostgreSQL driver decodes rows and converts values outside Python, and every
120
+ query shape is built once: a repeated query only binds its new values — see
121
+ [Benchmarks](#benchmarks).
122
+ - **Relations done right.** Composite primary keys everywhere — as foreign-key targets too — generic
123
+ relations made of real foreign keys, `select_related()`/`prefetch_related()` with filters, recursive
124
+ queries over a tree, and an error instead of a silently inflated aggregate — see
125
+ [Models and relations](https://hare-orm.github.io/hare-orm/#models-and-relations).
126
+ - **Your schema, declared.** Constraints, partial and expression indexes, triggers, views,
127
+ materialized views, functions, sequences, row level security policies, grants and partitioning
128
+ live in the model's `Meta` and are created and changed by migrations — see
129
+ [The schema in `Meta`](https://hare-orm.github.io/hare-orm/#schema-in-meta).
130
+ - **Application patterns built in.** Soft delete, versioned rows, multi-tenancy (by column, by
131
+ schema or by row level security), optimistic locking, dirty-field tracking and a transactional
132
+ outbox are `Meta` options — see [Behavior declared in `Meta`](https://hare-orm.github.io/hare-orm/#behavior-in-meta).
133
+ - **Migrations you can trust.** Detected from the models, checked for operations that lock a busy
134
+ table, compared with the live database (`hare drift`), and generated from an existing database
135
+ (`hare inspectdb`) — see [Migrations](https://hare-orm.github.io/hare-orm/#migrations).
136
+ - **Every database on its own terms.** SQLite, PostgreSQL and ClickHouse are dialects built on the
137
+ public API a third-party package uses; PostgreSQL's types, indexes, PostGIS, pgvector, full-text
138
+ search and `LISTEN`/`NOTIFY` come with it, and a database lacking a feature raises a clear error
139
+ instead of returning a wrong result — see [Databases](https://hare-orm.github.io/hare-orm/#databases).
140
+ - **Ready for production.** Observers, OpenTelemetry, SQL comment tags, an N+1 detector, pool
141
+ metrics, distributed transactions, read replicas and routers, PgBouncer support, Pydantic schemas
142
+ and Litestar, FastAPI and Robyn integrations — see [Observability](https://hare-orm.github.io/hare-orm/#observability).
143
+ - **Checked before it runs.** A mypy plugin rejects a misspelled filter and types the rows of
144
+ `values()`; a pytest plugin, factories and query-count assertions cover the tests — see
145
+ [Testing and type checking](https://hare-orm.github.io/hare-orm/#testing-and-type-checking).
146
+
147
+ The full tour, area by area, is on the [documentation's home page](https://hare-orm.github.io/hare-orm/).
148
+
149
+ ## Contents
150
+
151
+ - [Quick start](#quick-start)
152
+ - [Installation](#installation)
153
+ - [Benchmarks](#benchmarks)
154
+ - [Documentation](#documentation)
155
+ - [Versioning and releases](#versioning-and-releases)
156
+ - [Contributing](#contributing)
157
+ - [License](#license)
158
+
159
+ ## Quick start
160
+
161
+ ```bash
162
+ pip install hare-orm
163
+ ```
164
+
165
+ ```python
166
+ # library/models.py
167
+ from hare import fields
168
+ from hare.models import Model
169
+
170
+
171
+ class Author(Model):
172
+ id = fields.IntField(primary_key=True)
173
+ name = fields.CharField(max_length=120)
174
+
175
+
176
+ class Book(Model):
177
+ id = fields.IntField(primary_key=True)
178
+ author = fields.ForeignKeyField("models.Author", related_name="books")
179
+ title = fields.CharField(max_length=300)
180
+ rating = fields.IntField(default=0)
181
+ ```
182
+
183
+ ```python
184
+ # main.py
185
+ import asyncio
186
+
187
+ from hare import Hare, HareConfig
188
+ from library.models import Author, Book
189
+
190
+
191
+ async def main() -> None:
192
+ await Hare.init(HareConfig.from_db_url("sqlite+aiosqlite://db.sqlite3", {"models": ["library.models"]}))
193
+ await Hare.generate_schemas()
194
+
195
+ author = await Author.objects.create(name="Ursula K. Le Guin")
196
+ await Book.objects.create(author=author, title="The Left Hand of Darkness", rating=5)
197
+
198
+ async for book in Book.objects.filter(author__name__icontains="le guin").select_related("author"):
199
+ print(book.title, "—", book.author.name)
200
+
201
+ await Hare.close_connections()
202
+
203
+
204
+ asyncio.run(main())
205
+ ```
206
+
207
+ A real project keeps its schema in migrations instead of `generate_schemas()`:
208
+ `hare makemigrations`, then `hare migrate`. See
209
+ [Your first model](https://hare-orm.github.io/hare-orm/getting-started/first-model/).
210
+
211
+ ## Installation
212
+
213
+ ```bash
214
+ pip install hare-orm
215
+
216
+ pip install hare-orm[asyncpg] # the pure-Python PostgreSQL driver, instead of the Rust one
217
+ pip install hare-orm[clickhouse-connect] # the ClickHouse dialect over HTTP (clickhouse-connect)
218
+ pip install hare-orm[clickhouse-driver] # the ClickHouse dialect over the native TCP protocol (clickhouse-driver)
219
+ pip install hare-orm[sqlite-vec] # vector search on SQLite
220
+ pip install hare-orm[encryption] # EncryptedTextField / EncryptedJSONField (Fernet)
221
+ pip install hare-orm[fastapi] # also: litestar, robyn, request-query, taskiq
222
+ pip install hare-orm[kafka] # outbox delivery; also: rabbitmq, redis, http
223
+ pip install hare-orm[opentelemetry] # an OpenTelemetry span around every query
224
+ pip install hare-orm[pytest] # the pytest plugin; also: mypy, pyright
225
+ pip install hare-orm[ipython] # `hare shell` with IPython
226
+ ```
227
+
228
+ Every extra is listed under
229
+ [Installation](https://hare-orm.github.io/hare-orm/getting-started/installation/). Requires Python
230
+ 3.12, 3.13 or 3.14.
231
+
232
+ ## Benchmarks
233
+
234
+ <!-- benchmarks:start -->
235
+ hare-orm against SQLAlchemy, tortoise-orm, yara-orm and Django on PostgreSQL, SQLite and ClickHouse,
236
+ on the same scenarios: how many times slower than hare-orm each ORM is on each database, on average,
237
+ and hare-orm's operations per second under load, measured warm — a running application, not one just
238
+ started:
239
+
240
+ <p align="center">
241
+ <picture>
242
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/hare-orm/hare-orm/17e129097eceb00dbf932c67246dfee9801a96e2/docs/assets/benchmarks/scoreboard-en-dark.svg">
243
+ <img src="https://raw.githubusercontent.com/hare-orm/hare-orm/17e129097eceb00dbf932c67246dfee9801a96e2/docs/assets/benchmarks/scoreboard-en-light.svg" alt="Times slower than hare-orm, by database" width="800">
244
+ </picture>
245
+ </p>
246
+
247
+ Every scenario, the machine and the versions are on the
248
+ [Benchmarks](https://hare-orm.github.io/hare-orm/benchmarks/) pages; the benchmark itself is
249
+ [`benchmarks/bench.py`](https://github.com/hare-orm/hare-orm/blob/17e129097eceb00dbf932c67246dfee9801a96e2/benchmarks/README.md).
250
+ <!-- benchmarks:end -->
251
+
252
+ ## Documentation
253
+
254
+ **[hare-orm.github.io/hare-orm](https://hare-orm.github.io/hare-orm/)** — the full
255
+ reference: every field type, `Meta` option, `QuerySet` method, migration operation, transaction
256
+ primitive, dialect feature, PostgreSQL type and index, and the exception hierarchy, in English and
257
+ Russian. If you're new to hare-orm, start with
258
+ [Getting Started](https://hare-orm.github.io/hare-orm/getting-started/installation/).
259
+
260
+ To build and browse it locally instead (e.g. to preview an unreleased change):
261
+
262
+ ```bash
263
+ poetry install
264
+ poetry run mkdocs serve
265
+ ```
266
+
267
+ ## Versioning and releases
268
+
269
+ hare-orm follows [Semantic Versioning](https://semver.org/). Its public API is what the
270
+ [documentation](https://hare-orm.github.io/hare-orm/) describes; undocumented names and names
271
+ with a leading underscore are internal and may change in any release.
272
+
273
+ Before 1.0.0 the API is still settling:
274
+
275
+ - a **patch** release (`0.9.1`) only fixes bugs;
276
+ - a **minor** release (`0.10.0`) adds features and may change or remove public API. Every such
277
+ change is listed under *Breaking changes* in that release's [CHANGELOG](https://github.com/hare-orm/hare-orm/blob/17e129097eceb00dbf932c67246dfee9801a96e2/CHANGELOG.md) entry. A
278
+ renamed or removed name is gone in that same release — hare-orm doesn't keep deprecated aliases.
279
+
280
+ From 1.0.0 on, breaking changes land only in a major release. Pin the minor version you tested
281
+ against (`hare-orm>=0.9,<0.10`) and read the changelog before moving to the next one.
282
+
283
+ Each release is tagged `vX.Y.Z`, published to [PyPI](https://pypi.org/project/hare-orm/) and to
284
+ [GitHub Releases](https://github.com/hare-orm/hare-orm/releases), and described in
285
+ [CHANGELOG.md](https://github.com/hare-orm/hare-orm/blob/17e129097eceb00dbf932c67246dfee9801a96e2/CHANGELOG.md). Work in progress lives on the `dev` branch; `main` points at the
286
+ latest release.
287
+
288
+ ### Supported versions
289
+
290
+ | Component | Supported |
291
+ | --- | --- |
292
+ | hare-orm | The latest minor release; fixes ship as its patch releases |
293
+ | Python | CPython 3.12, 3.13, 3.14 |
294
+ | SQLite | 3.35.5+ |
295
+ | PostgreSQL | 14+ |
296
+ | PgBouncer | 1.22.1+ |
297
+ | ClickHouse | 25.8+ |
298
+ | Redis, RabbitMQ, Kafka (outbox) | 7.2+, 4.0+, 3.9+ |
299
+
300
+ Full support is promised on Linux only: the databases are tested there. On Windows and macOS hare
301
+ installs and runs for development — the wheels, the CLI and the tests reading no database are
302
+ checked on all three systems.
303
+
304
+ Dropping a Python or database version is a breaking change and is announced in the changelog.
305
+ Security fixes follow [SECURITY.md](https://github.com/hare-orm/hare-orm/blob/17e129097eceb00dbf932c67246dfee9801a96e2/SECURITY.md).
306
+
307
+ ## Contributing
308
+
309
+ Bug reports, feature proposals and pull requests are welcome. [CONTRIBUTING.md](https://github.com/hare-orm/hare-orm/blob/17e129097eceb00dbf932c67246dfee9801a96e2/CONTRIBUTING.md)
310
+ covers the dev environment, the test matrix (SQLite, PostgreSQL via
311
+ `asyncpg` and via the Rust driver, PgBouncer, ClickHouse), code style, how a change gets reviewed and
312
+ merged, and the sign-off every commit needs.
313
+
314
+ ## License
315
+
316
+ MIT — see [LICENSE](https://github.com/hare-orm/hare-orm/blob/17e129097eceb00dbf932c67246dfee9801a96e2/LICENSE). `hare-orm` began as a fork of Tortoise ORM and vendors an adapted
317
+ copy of PyPika's query-builder internals; both are Apache License 2.0. The Rust PostgreSQL driver
318
+ was inspired by the one in [yara-orm](https://github.com/vsdudakov/yara-orm), an open-source ORM
319
+ under the MIT License, and adapts parts of its code. The required notices of all three live in
320
+ [NOTICE.md](https://github.com/hare-orm/hare-orm/blob/17e129097eceb00dbf932c67246dfee9801a96e2/NOTICE.md).
321
+