loom-kernel 0.5.0__tar.gz → 0.6.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 (776) hide show
  1. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/CHANGELOG.md +118 -0
  2. loom_kernel-0.6.0/CHANGELOG_RELEASE.md +116 -0
  3. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/PKG-INFO +8 -3
  4. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/README.md +7 -2
  5. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/conf.py +1 -1
  6. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/etl/pipelines.md +9 -3
  7. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/etl/testing.md +2 -1
  8. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/examples-repo/index.md +9 -6
  9. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/getting-started/etl.md +9 -3
  10. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/getting-started/rest.md +15 -6
  11. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/getting-started/streaming.md +2 -2
  12. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/guides/celery.md +9 -0
  13. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/guides/etl.md +9 -3
  14. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/overview.md +1 -1
  15. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/reference/api/etl.rst +1 -1
  16. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/rest/celery.md +9 -0
  17. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/rest/examples.md +9 -6
  18. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/streaming/bytewax.md +1 -1
  19. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/pyproject.toml +2 -5
  20. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/celery/bootstrap.py +86 -43
  21. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/celery/config.py +37 -3
  22. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/celery/runner.py +139 -80
  23. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/celery/service.py +27 -12
  24. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/config/keys.py +1 -0
  25. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/config/observability.py +2 -2
  26. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/logger/config.py +3 -0
  27. loom_kernel-0.6.0/src/loom/core/observability/__init__.py +28 -0
  28. loom_kernel-0.6.0/src/loom/core/observability/config.py +102 -0
  29. loom_kernel-0.6.0/src/loom/core/observability/event.py +196 -0
  30. loom_kernel-0.6.0/src/loom/core/observability/observer/__init__.py +1 -0
  31. loom_kernel-0.6.0/src/loom/core/observability/observer/noop.py +27 -0
  32. loom_kernel-0.6.0/src/loom/core/observability/observer/otel.py +216 -0
  33. loom_kernel-0.6.0/src/loom/core/observability/observer/structlog.py +73 -0
  34. loom_kernel-0.6.0/src/loom/core/observability/protocol.py +34 -0
  35. loom_kernel-0.6.0/src/loom/core/observability/runtime.py +230 -0
  36. loom_kernel-0.6.0/src/loom/core/observability/topology.py +32 -0
  37. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/__init__.py +4 -3
  38. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/polars/_writer.py +6 -6
  39. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/polars/provider.py +15 -15
  40. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/spark/_writer.py +5 -5
  41. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/spark/provider.py +15 -15
  42. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/checkpoint/_scope.py +1 -1
  43. loom_kernel-0.6.0/src/loom/etl/executor/__init__.py +10 -0
  44. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/executor/_executor.py +58 -44
  45. loom_kernel-0.6.0/src/loom/etl/lineage/__init__.py +5 -0
  46. loom_kernel-0.6.0/src/loom/etl/lineage/_config.py +43 -0
  47. loom_kernel-0.6.0/src/loom/etl/lineage/_observer.py +269 -0
  48. loom_kernel-0.5.0/src/loom/etl/observability/records.py → loom_kernel-0.6.0/src/loom/etl/lineage/_records.py +12 -23
  49. loom_kernel-0.6.0/src/loom/etl/lineage/sinks/__init__.py +17 -0
  50. loom_kernel-0.6.0/src/loom/etl/lineage/sinks/_protocol.py +44 -0
  51. loom_kernel-0.6.0/src/loom/etl/lineage/sinks/_table.py +34 -0
  52. loom_kernel-0.6.0/src/loom/etl/lineage/sinks/_writer.py +22 -0
  53. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/runner/_providers.py +6 -6
  54. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/runner/_wiring.py +32 -11
  55. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/runner/config_loader.py +5 -5
  56. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/runner/core.py +37 -20
  57. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/testing/__init__.py +4 -3
  58. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/testing/_stubs.py +99 -39
  59. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/testing/spark.py +16 -8
  60. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/prometheus/__init__.py +4 -1
  61. loom_kernel-0.6.0/src/loom/prometheus/kafka.py +163 -0
  62. loom_kernel-0.6.0/src/loom/prometheus/lifecycle.py +125 -0
  63. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/fastapi/app.py +15 -21
  64. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/fastapi/auto.py +34 -64
  65. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/fastapi/router_runtime.py +66 -26
  66. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/_adapter.py +87 -27
  67. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/_dlq.py +5 -3
  68. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/_error_boundary.py +4 -10
  69. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/_runtime_io.py +11 -2
  70. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/handlers/_shared.py +45 -22
  71. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/handlers/boundary.py +1 -1
  72. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/handlers/routing.py +12 -4
  73. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/handlers/scopes.py +21 -6
  74. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/handlers/shapes.py +2 -37
  75. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/handlers/steps.py +41 -12
  76. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/runner.py +59 -36
  77. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/core/_errors.py +3 -0
  78. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/core/_message.py +2 -0
  79. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/__init__.py +0 -10
  80. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/_message.py +12 -2
  81. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/_wire.py +6 -2
  82. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/client/_consumer.py +26 -8
  83. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/client/_producer.py +49 -11
  84. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/message/_consumer.py +37 -13
  85. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/message/_producer.py +29 -11
  86. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/message/_protocol.py +2 -0
  87. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/_broadcast.py +4 -4
  88. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/testing.py +42 -24
  89. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/celery_bootstrap/test_bootstrap_worker.py +46 -21
  90. loom_kernel-0.6.0/tests/integration/core/bootstrap/test_bootstrap_integration.py +240 -0
  91. loom_kernel-0.6.0/tests/integration/core/rest/test_rest_error_mapping.py +248 -0
  92. loom_kernel-0.6.0/tests/integration/core/rest/test_rest_observability.py +238 -0
  93. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/etl/test_runner_integration.py +6 -5
  94. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/config/conf.interfaces.yaml +5 -2
  95. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/config/conf.yaml +5 -3
  96. loom_kernel-0.6.0/tests/unit/celery_bootstrap/test_async_runtime.py +87 -0
  97. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/celery_bootstrap/test_bootstrap.py +74 -56
  98. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/celery_jobs/test_celery_service.py +26 -5
  99. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/celery_jobs/test_config.py +49 -4
  100. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/celery_jobs/test_runner.py +193 -134
  101. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/errors/test_errors.py +48 -81
  102. loom_kernel-0.6.0/tests/unit/core/logger/test_config.py +24 -0
  103. loom_kernel-0.6.0/tests/unit/core/observability/test_observers.py +363 -0
  104. loom_kernel-0.6.0/tests/unit/core/observability/test_runtime.py +179 -0
  105. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/test_step_execution.py +13 -3
  106. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/test_writer_to_frame.py +1 -1
  107. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_spark/test_step_execution.py +13 -5
  108. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_spark/test_writer_to_frame.py +1 -1
  109. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/io/test_history_target.py +68 -197
  110. loom_kernel-0.6.0/tests/unit/etl/lineage/test_observer.py +187 -0
  111. loom_kernel-0.6.0/tests/unit/etl/lineage/test_records.py +101 -0
  112. loom_kernel-0.6.0/tests/unit/etl/lineage/test_store.py +74 -0
  113. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/storage/test_backend_factory.py +36 -119
  114. loom_kernel-0.6.0/tests/unit/etl/storage/test_observability_and_protocols.py +118 -0
  115. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/test_config_loader.py +17 -10
  116. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/test_executor.py +43 -18
  117. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/test_module_contracts.py +8 -8
  118. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/test_public_api_discovery.py +2 -3
  119. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/test_record_schema_coverage.py +2 -2
  120. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/test_runner.py +75 -2
  121. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/testing/test_scenario_and_stubs.py +91 -10
  122. loom_kernel-0.6.0/tests/unit/rest/test_fastapi_auto_logger.py +116 -0
  123. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/rest/test_router_runtime.py +89 -9
  124. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/test_adapter.py +10 -7
  125. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/test_bytewax_dispatcher.py +129 -83
  126. loom_kernel-0.6.0/tests/unit/streaming/bytewax/test_dlq.py +259 -0
  127. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/test_error_boundary.py +3 -8
  128. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/test_runner.py +57 -9
  129. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/test_runtime_io.py +67 -4
  130. loom_kernel-0.6.0/tests/unit/streaming/bytewax/test_steps.py +221 -0
  131. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/conftest.py +1 -0
  132. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/test_client.py +72 -4
  133. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/test_message.py +14 -0
  134. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/test_message_client.py +53 -15
  135. loom_kernel-0.6.0/tests/unit/streaming/kafka/test_observability.py +158 -0
  136. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/test_wire.py +32 -0
  137. loom_kernel-0.6.0/tests/unit/streaming/observability/cases.py +53 -0
  138. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/observability/test_observability_runner.py +21 -15
  139. loom_kernel-0.6.0/tests/unit/streaming/observability/test_protocols.py +81 -0
  140. loom_kernel-0.6.0/tests/unit/streaming/observability/test_structlog.py +79 -0
  141. loom_kernel-0.6.0/tests/unit/streaming/support/__init__.py +0 -0
  142. loom_kernel-0.6.0/tests/unit/streaming/test_otel_observability.py +33 -0
  143. loom_kernel-0.6.0/tests/unit/testing/__init__.py +0 -0
  144. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/uv.lock +4 -4
  145. loom_kernel-0.5.0/CHANGELOG_RELEASE.md +0 -25
  146. loom_kernel-0.5.0/src/loom/celery/event_loop.py +0 -158
  147. loom_kernel-0.5.0/src/loom/core/observability.py +0 -59
  148. loom_kernel-0.5.0/src/loom/etl/executor/__init__.py +0 -61
  149. loom_kernel-0.5.0/src/loom/etl/observability/__init__.py +0 -59
  150. loom_kernel-0.5.0/src/loom/etl/observability/config.py +0 -67
  151. loom_kernel-0.5.0/src/loom/etl/observability/factory.py +0 -52
  152. loom_kernel-0.5.0/src/loom/etl/observability/observers/__init__.py +0 -13
  153. loom_kernel-0.5.0/src/loom/etl/observability/observers/_labels.py +0 -57
  154. loom_kernel-0.5.0/src/loom/etl/observability/observers/composite.py +0 -62
  155. loom_kernel-0.5.0/src/loom/etl/observability/observers/noop.py +0 -36
  156. loom_kernel-0.5.0/src/loom/etl/observability/observers/otel.py +0 -263
  157. loom_kernel-0.5.0/src/loom/etl/observability/observers/protocol.py +0 -37
  158. loom_kernel-0.5.0/src/loom/etl/observability/observers/structlog.py +0 -100
  159. loom_kernel-0.5.0/src/loom/etl/observability/recording/__init__.py +0 -5
  160. loom_kernel-0.5.0/src/loom/etl/observability/recording/_recorder.py +0 -225
  161. loom_kernel-0.5.0/src/loom/etl/observability/sinks/__init__.py +0 -17
  162. loom_kernel-0.5.0/src/loom/etl/observability/sinks/_protocol.py +0 -44
  163. loom_kernel-0.5.0/src/loom/etl/observability/sinks/_table.py +0 -42
  164. loom_kernel-0.5.0/src/loom/etl/observability/sinks/_writer.py +0 -26
  165. loom_kernel-0.5.0/src/loom/prometheus/kafka.py +0 -156
  166. loom_kernel-0.5.0/src/loom/streaming/bytewax/_output_wiring.py +0 -203
  167. loom_kernel-0.5.0/src/loom/streaming/observability/__init__.py +0 -29
  168. loom_kernel-0.5.0/src/loom/streaming/observability/config.py +0 -28
  169. loom_kernel-0.5.0/src/loom/streaming/observability/factory.py +0 -47
  170. loom_kernel-0.5.0/src/loom/streaming/observability/observers/__init__.py +0 -29
  171. loom_kernel-0.5.0/src/loom/streaming/observability/observers/composite.py +0 -125
  172. loom_kernel-0.5.0/src/loom/streaming/observability/observers/noop.py +0 -58
  173. loom_kernel-0.5.0/src/loom/streaming/observability/observers/otel.py +0 -232
  174. loom_kernel-0.5.0/src/loom/streaming/observability/observers/protocol.py +0 -174
  175. loom_kernel-0.5.0/src/loom/streaming/observability/observers/structlog.py +0 -158
  176. loom_kernel-0.5.0/tests/integration/etl/test_runtime_contracts.py +0 -455
  177. loom_kernel-0.5.0/tests/unit/celery_bootstrap/test_event_loop.py +0 -182
  178. loom_kernel-0.5.0/tests/unit/etl/storage/test_observability_and_protocols.py +0 -149
  179. loom_kernel-0.5.0/tests/unit/etl/test_observer.py +0 -351
  180. loom_kernel-0.5.0/tests/unit/etl/test_observer_internals.py +0 -448
  181. loom_kernel-0.5.0/tests/unit/rest/test_fastapi_auto_logger.py +0 -157
  182. loom_kernel-0.5.0/tests/unit/streaming/kafka/test_observability.py +0 -162
  183. loom_kernel-0.5.0/tests/unit/streaming/observability/cases.py +0 -139
  184. loom_kernel-0.5.0/tests/unit/streaming/observability/test_protocols.py +0 -78
  185. loom_kernel-0.5.0/tests/unit/streaming/observability/test_structlog.py +0 -139
  186. loom_kernel-0.5.0/tests/unit/streaming/test_otel_observability.py +0 -216
  187. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/.github/workflows/ci-main.yml +0 -0
  188. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/.github/workflows/ci-pr.yml +0 -0
  189. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/.github/workflows/docs.yml +0 -0
  190. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/.github/workflows/release.yml +0 -0
  191. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/.gitignore +0 -0
  192. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/.pre-commit-config.yaml +0 -0
  193. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/.readthedocs.yaml +0 -0
  194. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/LICENSE +0 -0
  195. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/Makefile +0 -0
  196. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/codecov.yml +0 -0
  197. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/_static/.gitkeep +0 -0
  198. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/_static/custom.css +0 -0
  199. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/_static/logo-transparent.png +0 -0
  200. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/_static/logo.svg +0 -0
  201. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/architecture/adr/README.md +0 -0
  202. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/architecture/clean-architecture.md +0 -0
  203. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/architecture/overview.md +0 -0
  204. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/etl/examples.md +0 -0
  205. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/guides/autocrud.md +0 -0
  206. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/guides/fake-repo-examples.md +0 -0
  207. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/guides/quickstart.md +0 -0
  208. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/guides/use-case-dsl.md +0 -0
  209. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/index.rst +0 -0
  210. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/reference/api/core.rst +0 -0
  211. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/reference/api/repository.rst +0 -0
  212. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/reference/api/rest.rst +0 -0
  213. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/reference/api/streaming.rst +0 -0
  214. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/reference/api/testing.rst +0 -0
  215. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/reference/index.rst +0 -0
  216. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/requirements.txt +0 -0
  217. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/rest/autocrud.md +0 -0
  218. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/rest/testing.md +0 -0
  219. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/docs/rest/use-case-dsl.md +0 -0
  220. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/sonar-project.properties +0 -0
  221. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/__init__.py +0 -0
  222. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/celery/__init__.py +0 -0
  223. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/celery/auto.py +0 -0
  224. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/celery/constants.py +0 -0
  225. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/async_bridge.py +0 -0
  226. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/backend/__init__.py +0 -0
  227. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/backend/core_model.py +0 -0
  228. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/backend/protocol.py +0 -0
  229. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/backend/sqlalchemy.py +0 -0
  230. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/bootstrap/__init__.py +0 -0
  231. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/bootstrap/bootstrap.py +0 -0
  232. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/bootstrap/kernel.py +0 -0
  233. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/__init__.py +0 -0
  234. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/abc/__init__.py +0 -0
  235. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/abc/backend.py +0 -0
  236. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/abc/config.py +0 -0
  237. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/abc/dependency.py +0 -0
  238. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/codec.py +0 -0
  239. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/decorators.py +0 -0
  240. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/dependency.py +0 -0
  241. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/gateway.py +0 -0
  242. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/keys.py +0 -0
  243. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/repository.py +0 -0
  244. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/cache/serializer.py +0 -0
  245. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/command/__init__.py +0 -0
  246. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/command/adapter.py +0 -0
  247. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/command/base.py +0 -0
  248. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/command/field.py +0 -0
  249. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/command/introspection.py +0 -0
  250. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/config/__init__.py +0 -0
  251. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/config/configurable.py +0 -0
  252. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/config/errors.py +0 -0
  253. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/config/loader.py +0 -0
  254. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/config/model.py +0 -0
  255. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/config/resolver.py +0 -0
  256. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/contracts/__init__.py +0 -0
  257. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/contracts/manifest.py +0 -0
  258. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/di/__init__.py +0 -0
  259. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/di/container.py +0 -0
  260. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/di/scope.py +0 -0
  261. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/discovery/__init__.py +0 -0
  262. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/discovery/_utils.py +0 -0
  263. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/discovery/base.py +0 -0
  264. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/discovery/interfaces.py +0 -0
  265. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/discovery/manifest.py +0 -0
  266. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/discovery/modules.py +0 -0
  267. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/engine/__init__.py +0 -0
  268. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/engine/compilable.py +0 -0
  269. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/engine/compiler.py +0 -0
  270. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/engine/events.py +0 -0
  271. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/engine/executor.py +0 -0
  272. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/engine/metrics.py +0 -0
  273. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/engine/plan.py +0 -0
  274. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/errors/__init__.py +0 -0
  275. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/errors/codes.py +0 -0
  276. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/errors/errors.py +0 -0
  277. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/expr/__init__.py +0 -0
  278. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/expr/eval.py +0 -0
  279. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/expr/nodes.py +0 -0
  280. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/expr/refs.py +0 -0
  281. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/job/__init__.py +0 -0
  282. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/job/callback.py +0 -0
  283. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/job/context.py +0 -0
  284. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/job/handle.py +0 -0
  285. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/job/job.py +0 -0
  286. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/job/service.py +0 -0
  287. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/logger/__init__.py +0 -0
  288. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/logger/abc.py +0 -0
  289. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/logger/registry.py +0 -0
  290. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/logger/structlogger.py +0 -0
  291. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/model/__init__.py +0 -0
  292. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/model/base.py +0 -0
  293. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/model/enums.py +0 -0
  294. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/model/field.py +0 -0
  295. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/model/introspection.py +0 -0
  296. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/model/projection.py +0 -0
  297. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/model/relation.py +0 -0
  298. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/model/struct.py +0 -0
  299. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/model/timestamped.py +0 -0
  300. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/model/types.py +0 -0
  301. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/model/types_postgres.py +0 -0
  302. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/projection/__init__.py +0 -0
  303. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/projection/loaders.py +0 -0
  304. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/projection/runtime.py +0 -0
  305. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/__init__.py +0 -0
  306. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/abc/__init__.py +0 -0
  307. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/abc/query.py +0 -0
  308. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/abc/repo_for.py +0 -0
  309. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/abc/repository.py +0 -0
  310. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/mutation.py +0 -0
  311. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/registration.py +0 -0
  312. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/registry.py +0 -0
  313. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/__init__.py +0 -0
  314. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/integrity.py +0 -0
  315. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/loaders.py +0 -0
  316. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/mixins.py +0 -0
  317. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/model.py +0 -0
  318. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/profile_loader.py +0 -0
  319. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/projection.py +0 -0
  320. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/query_compiler/__init__.py +0 -0
  321. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/query_compiler/compiler.py +0 -0
  322. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/query_compiler/cursor.py +0 -0
  323. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/query_compiler/errors.py +0 -0
  324. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/query_compiler/filters.py +0 -0
  325. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/query_compiler/ordering.py +0 -0
  326. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/query_compiler/paths.py +0 -0
  327. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/query_compiler/subquery.py +0 -0
  328. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/registry.py +0 -0
  329. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/repository.py +0 -0
  330. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/session_manager.py +0 -0
  331. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/transactional.py +0 -0
  332. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/repository/sqlalchemy/uow.py +0 -0
  333. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/response/__init__.py +0 -0
  334. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/response/base.py +0 -0
  335. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/routing/__init__.py +0 -0
  336. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/routing/ref.py +0 -0
  337. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/routing/resolver.py +0 -0
  338. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/tracing/__init__.py +0 -0
  339. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/tracing/context.py +0 -0
  340. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/transport/__init__.py +0 -0
  341. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/transport/adapter.py +0 -0
  342. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/uow/__init__.py +0 -0
  343. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/uow/abc.py +0 -0
  344. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/uow/context.py +0 -0
  345. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/__init__.py +0 -0
  346. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/_predicates.py +0 -0
  347. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/compute.py +0 -0
  348. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/constants.py +0 -0
  349. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/factory.py +0 -0
  350. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/field_ref.py +0 -0
  351. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/invoker.py +0 -0
  352. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/keys.py +0 -0
  353. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/markers.py +0 -0
  354. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/registry.py +0 -0
  355. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/rule.py +0 -0
  356. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/core/use_case/use_case.py +0 -0
  357. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/__init__.py +0 -0
  358. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_format_registry.py +0 -0
  359. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_historify/__init__.py +0 -0
  360. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_historify/_common.py +0 -0
  361. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_historify/_log.py +0 -0
  362. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_historify/_ops.py +0 -0
  363. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_historify/_snapshot.py +0 -0
  364. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_historify/_transform.py +0 -0
  365. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_merge.py +0 -0
  366. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_predicate.py +0 -0
  367. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_schema_aligner/__init__.py +0 -0
  368. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_schema_aligner/_aligner.py +0 -0
  369. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_schema_aligner/_policy.py +0 -0
  370. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/_write_policy.py +0 -0
  371. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/polars/__init__.py +0 -0
  372. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/polars/_dtype.py +0 -0
  373. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/polars/_file_writer.py +0 -0
  374. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/polars/_historify.py +0 -0
  375. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/polars/_predicate.py +0 -0
  376. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/polars/_reader.py +0 -0
  377. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/polars/_schema.py +0 -0
  378. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/polars/_schema_aligner.py +0 -0
  379. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/spark/__init__.py +0 -0
  380. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/spark/_dtype.py +0 -0
  381. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/spark/_historify.py +0 -0
  382. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/spark/_reader.py +0 -0
  383. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/spark/_schema.py +0 -0
  384. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/backends/spark/_schema_aligner.py +0 -0
  385. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/checkpoint/__init__.py +0 -0
  386. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/checkpoint/_backends/_polars.py +0 -0
  387. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/checkpoint/_backends/_spark.py +0 -0
  388. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/checkpoint/_cleaners.py +0 -0
  389. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/checkpoint/_paths.py +0 -0
  390. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/checkpoint/_store.py +0 -0
  391. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/compiler/__init__.py +0 -0
  392. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/compiler/_binding.py +0 -0
  393. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/compiler/_compiler.py +0 -0
  394. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/compiler/_errors.py +0 -0
  395. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/compiler/_plan.py +0 -0
  396. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/compiler/_validators.py +0 -0
  397. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/compiler/_validators_plan.py +0 -0
  398. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/compiler/_validators_step.py +0 -0
  399. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/__init__.py +0 -0
  400. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/_format.py +0 -0
  401. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/_read_options.py +0 -0
  402. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/_utils.py +0 -0
  403. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/_write_options.py +0 -0
  404. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/expr/__init__.py +0 -0
  405. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/expr/_params.py +0 -0
  406. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/expr/_predicate.py +0 -0
  407. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/expr/_predicate_dialect.py +0 -0
  408. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/expr/_refs.py +0 -0
  409. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/source/__init__.py +0 -0
  410. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/source/_from.py +0 -0
  411. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/source/_specs.py +0 -0
  412. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/__init__.py +0 -0
  413. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/_file.py +0 -0
  414. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/_history/__init__.py +0 -0
  415. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/_history/_builder.py +0 -0
  416. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/_history/_enums.py +0 -0
  417. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/_history/_errors.py +0 -0
  418. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/_history/_report.py +0 -0
  419. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/_history/_spec.py +0 -0
  420. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/_into.py +0 -0
  421. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/_schema_mode.py +0 -0
  422. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/_table.py +0 -0
  423. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/declarative/target/_temp.py +0 -0
  424. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/executor/_dispatcher.py +0 -0
  425. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/pipeline/__init__.py +0 -0
  426. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/pipeline/_generics.py +0 -0
  427. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/pipeline/_params.py +0 -0
  428. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/pipeline/_pipeline.py +0 -0
  429. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/pipeline/_process.py +0 -0
  430. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/pipeline/_sql.py +0 -0
  431. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/pipeline/_step.py +0 -0
  432. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/pipeline/_step_sql.py +0 -0
  433. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/runner/__init__.py +0 -0
  434. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/runner/errors.py +0 -0
  435. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/runner/filtering.py +0 -0
  436. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/runtime/__init__.py +0 -0
  437. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/runtime/contracts.py +0 -0
  438. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/schema/__init__.py +0 -0
  439. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/schema/_contract.py +0 -0
  440. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/schema/_schema.py +0 -0
  441. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/storage/__init__.py +0 -0
  442. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/storage/_config.py +0 -0
  443. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/storage/_file_locator.py +0 -0
  444. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/storage/_locator.py +0 -0
  445. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/storage/routing.py +0 -0
  446. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/testing/_result.py +0 -0
  447. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/testing/_runners.py +0 -0
  448. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/etl/testing/_scenario.py +0 -0
  449. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/prometheus/adapter.py +0 -0
  450. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/prometheus/middleware.py +0 -0
  451. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/__init__.py +0 -0
  452. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/adapter.py +0 -0
  453. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/autocrud.py +0 -0
  454. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/compiler.py +0 -0
  455. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/constants.py +0 -0
  456. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/errors.py +0 -0
  457. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/fastapi/__init__.py +0 -0
  458. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/fastapi/openapi.py +0 -0
  459. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/fastapi/response.py +0 -0
  460. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/middleware.py +0 -0
  461. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/model.py +0 -0
  462. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/rest/rest_adapter.py +0 -0
  463. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/__init__.py +0 -0
  464. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/__init__.py +0 -0
  465. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/_commit_tracker.py +0 -0
  466. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/_operators.py +0 -0
  467. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/_resource_manager.py +0 -0
  468. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/handlers/__init__.py +0 -0
  469. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/bytewax/handlers/dispatcher.py +0 -0
  470. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/compiler/__init__.py +0 -0
  471. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/compiler/_bindings.py +0 -0
  472. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/compiler/_compiler.py +0 -0
  473. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/compiler/_plan.py +0 -0
  474. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/compiler/phases/build_plan.py +0 -0
  475. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/compiler/phases/validate.py +0 -0
  476. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/core/__init__.py +0 -0
  477. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/core/_exceptions.py +0 -0
  478. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/core/_typing.py +0 -0
  479. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/graph/__init__.py +0 -0
  480. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/graph/_flow.py +0 -0
  481. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/_codec.py +0 -0
  482. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/_config.py +0 -0
  483. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/_errors.py +0 -0
  484. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/_key_resolver.py +0 -0
  485. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/_record.py +0 -0
  486. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/client/__init__.py +0 -0
  487. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/client/_protocol.py +0 -0
  488. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/kafka/message/__init__.py +0 -0
  489. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/__init__.py +0 -0
  490. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/_boundary.py +0 -0
  491. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/_capabilities.py +0 -0
  492. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/_expr_eval.py +0 -0
  493. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/_fork.py +0 -0
  494. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/_helpers.py +0 -0
  495. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/_protocols.py +0 -0
  496. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/_router.py +0 -0
  497. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/_shape.py +0 -0
  498. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/_step.py +0 -0
  499. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/_with.py +0 -0
  500. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/streaming/nodes/refs.py +0 -0
  501. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/testing/__init__.py +0 -0
  502. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/testing/golden.py +0 -0
  503. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/testing/http_harness.py +0 -0
  504. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/testing/in_memory.py +0 -0
  505. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/testing/repository_harness.py +0 -0
  506. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/src/loom/testing/runner.py +0 -0
  507. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/__init__.py +0 -0
  508. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/conftest.py +0 -0
  509. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/golden/__init__.py +0 -0
  510. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/golden/baselines/.gitkeep +0 -0
  511. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/golden/outputs/.gitkeep +0 -0
  512. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/golden/plans/.gitkeep +0 -0
  513. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/helpers/__init__.py +0 -0
  514. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/__init__.py +0 -0
  515. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/celery_bootstrap/__init__.py +0 -0
  516. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/celery_bootstrap/config/conf.celery.integration.yaml +0 -0
  517. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/celery_bootstrap/test_auto_create_app_integration.py +0 -0
  518. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/conftest.py +0 -0
  519. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/core/__init__.py +0 -0
  520. {loom_kernel-0.5.0/tests/integration/core/repository → loom_kernel-0.6.0/tests/integration/core/bootstrap}/__init__.py +0 -0
  521. {loom_kernel-0.5.0/tests/integration/core/repository/sqlalchemy → loom_kernel-0.6.0/tests/integration/core/repository}/__init__.py +0 -0
  522. {loom_kernel-0.5.0/tests/integration/core/rest → loom_kernel-0.6.0/tests/integration/core/repository/sqlalchemy}/__init__.py +0 -0
  523. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/core/repository/sqlalchemy/conftest.py +0 -0
  524. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/core/repository/sqlalchemy/test_cache_integration.py +0 -0
  525. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/core/repository/sqlalchemy/test_repository_integration.py +0 -0
  526. {loom_kernel-0.5.0/tests/integration/core/use_case → loom_kernel-0.6.0/tests/integration/core/rest}/__init__.py +0 -0
  527. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/core/rest/test_auto_interface_integration.py +0 -0
  528. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/core/rest/test_fastapi_app_integration.py +0 -0
  529. {loom_kernel-0.5.0/tests/integration/fake_repo → loom_kernel-0.6.0/tests/integration/core/use_case}/__init__.py +0 -0
  530. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/core/use_case/test_custom_repository_integration.py +0 -0
  531. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/core/use_case/test_use_case_crud_integration.py +0 -0
  532. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/etl/__init__.py +0 -0
  533. {loom_kernel-0.5.0/tests/integration/fake_repo/product/category → loom_kernel-0.6.0/tests/integration/fake_repo}/__init__.py +0 -0
  534. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/config/__init__.py +0 -0
  535. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/config/conf.manifest.yaml +0 -0
  536. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/config/conf.modules.yaml +0 -0
  537. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/main.py +0 -0
  538. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/manifest.py +0 -0
  539. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/__init__.py +0 -0
  540. {loom_kernel-0.5.0/tests/integration/fake_repo/product/review → loom_kernel-0.6.0/tests/integration/fake_repo/product/category}/__init__.py +0 -0
  541. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/category/model.py +0 -0
  542. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/category/schemas.py +0 -0
  543. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/interface.py +0 -0
  544. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/jobs.py +0 -0
  545. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/model.py +0 -0
  546. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/relations.py +0 -0
  547. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/repository.py +0 -0
  548. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/repository_contract.py +0 -0
  549. {loom_kernel-0.5.0/tests/unit → loom_kernel-0.6.0/tests/integration/fake_repo/product/review}/__init__.py +0 -0
  550. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/review/model.py +0 -0
  551. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/review/schemas.py +0 -0
  552. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/schemas.py +0 -0
  553. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/fake_repo/product/use_cases.py +0 -0
  554. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/support/__init__.py +0 -0
  555. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/integration/support/logical_repo_fixtures.py +0 -0
  556. {loom_kernel-0.5.0/tests/unit/celery_bootstrap → loom_kernel-0.6.0/tests/unit}/__init__.py +0 -0
  557. {loom_kernel-0.5.0/tests/unit/celery_jobs → loom_kernel-0.6.0/tests/unit/celery_bootstrap}/__init__.py +0 -0
  558. {loom_kernel-0.5.0/tests/unit/core → loom_kernel-0.6.0/tests/unit/celery_jobs}/__init__.py +0 -0
  559. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/celery_jobs/test_auto.py +0 -0
  560. {loom_kernel-0.5.0/tests/unit/core/backend → loom_kernel-0.6.0/tests/unit/core}/__init__.py +0 -0
  561. {loom_kernel-0.5.0/tests/unit/core/bootstrap → loom_kernel-0.6.0/tests/unit/core/backend}/__init__.py +0 -0
  562. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/backend/test_backend_compiler.py +0 -0
  563. {loom_kernel-0.5.0/tests/unit/core/cache → loom_kernel-0.6.0/tests/unit/core/bootstrap}/__init__.py +0 -0
  564. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/bootstrap/test_bootstrap.py +0 -0
  565. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/bootstrap/test_bootstrap_metrics.py +0 -0
  566. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/bootstrap/test_kernel.py +0 -0
  567. {loom_kernel-0.5.0/tests/unit/core/command → loom_kernel-0.6.0/tests/unit/core/cache}/__init__.py +0 -0
  568. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/cache/test_cached_repository.py +0 -0
  569. {loom_kernel-0.5.0/tests/unit/core/config → loom_kernel-0.6.0/tests/unit/core/command}/__init__.py +0 -0
  570. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/command/test_command_base.py +0 -0
  571. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/command/test_command_field.py +0 -0
  572. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/command/test_command_patch.py +0 -0
  573. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/command/test_introspection.py +0 -0
  574. {loom_kernel-0.5.0/tests/unit/core/di → loom_kernel-0.6.0/tests/unit/core/config}/__init__.py +0 -0
  575. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/config/test_config.py +0 -0
  576. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/config/test_configurable.py +0 -0
  577. {loom_kernel-0.5.0/tests/unit/core/discovery → loom_kernel-0.6.0/tests/unit/core/di}/__init__.py +0 -0
  578. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/di/test_container.py +0 -0
  579. {loom_kernel-0.5.0/tests/unit/core/engine → loom_kernel-0.6.0/tests/unit/core/discovery}/__init__.py +0 -0
  580. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/discovery/test_manifest.py +0 -0
  581. {loom_kernel-0.5.0/tests/unit/core/errors → loom_kernel-0.6.0/tests/unit/core/engine}/__init__.py +0 -0
  582. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/engine/test_compiler.py +0 -0
  583. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/engine/test_executor.py +0 -0
  584. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/engine/test_executor_trace.py +0 -0
  585. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/engine/test_executor_uow.py +0 -0
  586. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/engine/test_metrics.py +0 -0
  587. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/engine/test_plan.py +0 -0
  588. {loom_kernel-0.5.0/tests/unit/core/expr → loom_kernel-0.6.0/tests/unit/core/errors}/__init__.py +0 -0
  589. {loom_kernel-0.5.0/tests/unit/core/job → loom_kernel-0.6.0/tests/unit/core/expr}/__init__.py +0 -0
  590. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/expr/test_expr.py +0 -0
  591. {loom_kernel-0.5.0/tests/unit/core/logger → loom_kernel-0.6.0/tests/unit/core/job}/__init__.py +0 -0
  592. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/job/conftest.py +0 -0
  593. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/job/test_callback.py +0 -0
  594. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/job/test_context.py +0 -0
  595. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/job/test_handle.py +0 -0
  596. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/job/test_inline_service.py +0 -0
  597. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/job/test_job.py +0 -0
  598. {loom_kernel-0.5.0/tests/unit/core/model → loom_kernel-0.6.0/tests/unit/core/logger}/__init__.py +0 -0
  599. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/logger/test_registry.py +0 -0
  600. {loom_kernel-0.5.0/tests/unit/core/projection → loom_kernel-0.6.0/tests/unit/core/model}/__init__.py +0 -0
  601. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/model/test_model.py +0 -0
  602. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/model/test_struct.py +0 -0
  603. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/model/test_timestamped.py +0 -0
  604. {loom_kernel-0.5.0/tests/unit/core/repository → loom_kernel-0.6.0/tests/unit/core/observability}/__init__.py +0 -0
  605. {loom_kernel-0.5.0/tests/unit/core/repository/abc → loom_kernel-0.6.0/tests/unit/core/projection}/__init__.py +0 -0
  606. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/projection/test_runtime.py +0 -0
  607. {loom_kernel-0.5.0/tests/unit/core/repository/sqlalchemy → loom_kernel-0.6.0/tests/unit/core/repository}/__init__.py +0 -0
  608. {loom_kernel-0.5.0/tests/unit/core/routing → loom_kernel-0.6.0/tests/unit/core/repository/abc}/__init__.py +0 -0
  609. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/repository/abc/conftest.py +0 -0
  610. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/repository/abc/test_query.py +0 -0
  611. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/repository/abc/test_repository_contract.py +0 -0
  612. {loom_kernel-0.5.0/tests/unit/core/tracing → loom_kernel-0.6.0/tests/unit/core/repository/sqlalchemy}/__init__.py +0 -0
  613. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/repository/sqlalchemy/conftest.py +0 -0
  614. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/repository/sqlalchemy/test_loaders.py +0 -0
  615. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/repository/sqlalchemy/test_repository.py +0 -0
  616. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/repository/sqlalchemy/test_transactional.py +0 -0
  617. {loom_kernel-0.5.0/tests/unit/core/uow → loom_kernel-0.6.0/tests/unit/core/routing}/__init__.py +0 -0
  618. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/routing/test_routing.py +0 -0
  619. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/test_async_bridge.py +0 -0
  620. {loom_kernel-0.5.0/tests/unit/core/use_case → loom_kernel-0.6.0/tests/unit/core/tracing}/__init__.py +0 -0
  621. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/tracing/test_context.py +0 -0
  622. {loom_kernel-0.5.0/tests/unit/etl → loom_kernel-0.6.0/tests/unit/core/uow}/__init__.py +0 -0
  623. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/uow/test_executor_uow.py +0 -0
  624. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/uow/test_sqlalchemy_uow.py +0 -0
  625. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/uow/test_uow_protocols.py +0 -0
  626. {loom_kernel-0.5.0/tests/unit/etl/backends → loom_kernel-0.6.0/tests/unit/core/use_case}/__init__.py +0 -0
  627. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/use_case/test_compute.py +0 -0
  628. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/use_case/test_factory.py +0 -0
  629. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/use_case/test_field_ref.py +0 -0
  630. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/use_case/test_invoker.py +0 -0
  631. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/use_case/test_markers.py +0 -0
  632. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/use_case/test_rule.py +0 -0
  633. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/core/use_case/test_use_case.py +0 -0
  634. {loom_kernel-0.5.0/tests/unit/etl/backends/test_polars → loom_kernel-0.6.0/tests/unit/etl}/__init__.py +0 -0
  635. {loom_kernel-0.5.0/tests/unit/etl/backends/test_spark → loom_kernel-0.6.0/tests/unit/etl/backends}/__init__.py +0 -0
  636. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/_historify_contract.py +0 -0
  637. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_historify_common.py +0 -0
  638. {loom_kernel-0.5.0/tests/unit/etl/checkpoint → loom_kernel-0.6.0/tests/unit/etl/backends/test_polars}/__init__.py +0 -0
  639. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/conftest.py +0 -0
  640. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/test_apply_schema.py +0 -0
  641. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/test_backend.py +0 -0
  642. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/test_dtype.py +0 -0
  643. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/test_file_writer.py +0 -0
  644. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/test_historify_polars.py +0 -0
  645. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/test_predicate_pushdown.py +0 -0
  646. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/test_reader_columns.py +0 -0
  647. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/test_reader_json_columns.py +0 -0
  648. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_polars/test_upsert_writer.py +0 -0
  649. {loom_kernel-0.5.0/tests/unit/etl/checkpoint/backends → loom_kernel-0.6.0/tests/unit/etl/backends/test_spark}/__init__.py +0 -0
  650. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_spark/conftest.py +0 -0
  651. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_spark/test_dtype.py +0 -0
  652. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_spark/test_historify_spark.py +0 -0
  653. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_spark/test_spark_apply_schema.py +0 -0
  654. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/backends/test_write_policy_historify.py +0 -0
  655. {loom_kernel-0.5.0/tests/unit/etl/compiler → loom_kernel-0.6.0/tests/unit/etl/checkpoint}/__init__.py +0 -0
  656. {loom_kernel-0.5.0/tests/unit/etl/io → loom_kernel-0.6.0/tests/unit/etl/checkpoint/backends}/__init__.py +0 -0
  657. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/checkpoint/backends/test_checkpoint_polars.py +0 -0
  658. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/checkpoint/test_checkpoint_paths.py +0 -0
  659. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/checkpoint/test_cleaners.py +0 -0
  660. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/checkpoint/test_store.py +0 -0
  661. {loom_kernel-0.5.0/tests/unit/etl/schema → loom_kernel-0.6.0/tests/unit/etl/compiler}/__init__.py +0 -0
  662. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_catalog_validator.py +0 -0
  663. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_compiler.py +0 -0
  664. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_compiler_catalog.py +0 -0
  665. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_compiler_upsert.py +0 -0
  666. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_errors.py +0 -0
  667. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_errors_additional_factories.py +0 -0
  668. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_errors_runtime_factories.py +0 -0
  669. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_historify_validator.py +0 -0
  670. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_param_exprs_validator.py +0 -0
  671. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_plan_traversal.py +0 -0
  672. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_step_validator.py +0 -0
  673. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_structural.py +0 -0
  674. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_temp_validator.py +0 -0
  675. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/compiler/test_upsert_validator.py +0 -0
  676. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/conftest.py +0 -0
  677. {loom_kernel-0.5.0/tests/unit/etl/sql → loom_kernel-0.6.0/tests/unit/etl/io}/__init__.py +0 -0
  678. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/io/test_source.py +0 -0
  679. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/io/test_source_json.py +0 -0
  680. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/io/test_source_options.py +0 -0
  681. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/io/test_target.py +0 -0
  682. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/io/test_utils.py +0 -0
  683. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/io/test_variants.py +0 -0
  684. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/pipeline/__init__.py +0 -0
  685. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/pipeline/test_pipeline_process.py +0 -0
  686. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/pipeline/test_proxy.py +0 -0
  687. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/pipeline/test_step.py +0 -0
  688. {loom_kernel-0.5.0/tests/unit/etl/storage → loom_kernel-0.6.0/tests/unit/etl/schema}/__init__.py +0 -0
  689. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/schema/test_contract.py +0 -0
  690. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/schema/test_schema.py +0 -0
  691. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/schema/test_table.py +0 -0
  692. {loom_kernel-0.5.0/tests/unit/etl/testing → loom_kernel-0.6.0/tests/unit/etl/sql}/__init__.py +0 -0
  693. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/sql/test_merge.py +0 -0
  694. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/sql/test_predicate.py +0 -0
  695. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/sql/test_predicate_dialect.py +0 -0
  696. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/sql/test_sql_runtime.py +0 -0
  697. {loom_kernel-0.5.0/tests/unit/prometheus → loom_kernel-0.6.0/tests/unit/etl/storage}/__init__.py +0 -0
  698. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/storage/test_io_protocols.py +0 -0
  699. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/storage/test_locator.py +0 -0
  700. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/storage/test_route_build.py +0 -0
  701. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/storage/test_schema_readers.py +0 -0
  702. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/storage/test_storage_config.py +0 -0
  703. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/test_format_registry.py +0 -0
  704. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/test_runner_errors.py +0 -0
  705. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/test_spark_testing.py +0 -0
  706. {loom_kernel-0.5.0/tests/unit/rest → loom_kernel-0.6.0/tests/unit/etl/testing}/__init__.py +0 -0
  707. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/testing/test_runners.py +0 -0
  708. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/etl/testing/test_spark_helpers.py +0 -0
  709. {loom_kernel-0.5.0/tests/unit/streaming/bytewax → loom_kernel-0.6.0/tests/unit/prometheus}/__init__.py +0 -0
  710. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/prometheus/test_adapter.py +0 -0
  711. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/prometheus/test_middleware.py +0 -0
  712. {loom_kernel-0.5.0/tests/unit/streaming/compiler → loom_kernel-0.6.0/tests/unit/rest}/__init__.py +0 -0
  713. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/rest/test_autocrud.py +0 -0
  714. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/rest/test_middleware.py +0 -0
  715. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/rest/test_pydantic_adapter.py +0 -0
  716. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/rest/test_response.py +0 -0
  717. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/rest/test_rest_adapter.py +0 -0
  718. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/rest/test_rest_compiler.py +0 -0
  719. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/rest/test_rest_model.py +0 -0
  720. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/__init__.py +0 -0
  721. {loom_kernel-0.5.0/tests/unit/streaming/contracts → loom_kernel-0.6.0/tests/unit/streaming/bytewax}/__init__.py +0 -0
  722. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/cases.py +0 -0
  723. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/conftest.py +0 -0
  724. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/test_batch_key.py +0 -0
  725. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/test_collect_batch.py +0 -0
  726. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/test_operators.py +0 -0
  727. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/test_runtime_sink.py +0 -0
  728. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/bytewax/test_runtime_source.py +0 -0
  729. {loom_kernel-0.5.0/tests/unit/streaming/nodes → loom_kernel-0.6.0/tests/unit/streaming/compiler}/__init__.py +0 -0
  730. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/compiler/cases.py +0 -0
  731. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/compiler/test_async_walk.py +0 -0
  732. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/compiler/test_basics.py +0 -0
  733. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/compiler/test_config_bindings.py +0 -0
  734. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/compiler/test_multi_source.py +0 -0
  735. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/compiler/test_router.py +0 -0
  736. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/compiler/test_window.py +0 -0
  737. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/compiler/test_with.py +0 -0
  738. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/conftest.py +0 -0
  739. {loom_kernel-0.5.0/tests/unit/streaming/observability → loom_kernel-0.6.0/tests/unit/streaming/contracts}/__init__.py +0 -0
  740. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/contracts/cases.py +0 -0
  741. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/contracts/test_boundary.py +0 -0
  742. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/contracts/test_message.py +0 -0
  743. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/contracts/test_multi_boundary.py +0 -0
  744. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/contracts/test_steps.py +0 -0
  745. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/flows/__init__.py +0 -0
  746. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/flows/cases/__init__.py +0 -0
  747. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/flows/cases/batch.py +0 -0
  748. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/flows/cases/fork.py +0 -0
  749. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/flows/cases/router.py +0 -0
  750. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/flows/cases/shared.py +0 -0
  751. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/flows/cases/simple.py +0 -0
  752. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/flows/conftest.py +0 -0
  753. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/flows/test_compiler_examples.py +0 -0
  754. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/flows/test_flow_examples.py +0 -0
  755. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/__init__.py +0 -0
  756. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/cases.py +0 -0
  757. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/fakes.py +0 -0
  758. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/test_config.py +0 -0
  759. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/test_key_resolver.py +0 -0
  760. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/test_multi_wire.py +0 -0
  761. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/kafka/test_settings.py +0 -0
  762. {loom_kernel-0.5.0/tests/unit/streaming/support → loom_kernel-0.6.0/tests/unit/streaming/nodes}/__init__.py +0 -0
  763. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/nodes/conftest.py +0 -0
  764. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/nodes/test_broadcast.py +0 -0
  765. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/nodes/test_logging.py +0 -0
  766. {loom_kernel-0.5.0/tests/unit/testing → loom_kernel-0.6.0/tests/unit/streaming/observability}/__init__.py +0 -0
  767. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/observability/conftest.py +0 -0
  768. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/observability/test_registry.py +0 -0
  769. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/support/flow_cases.py +0 -0
  770. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/test_fork.py +0 -0
  771. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/test_routing.py +0 -0
  772. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/streaming/test_with.py +0 -0
  773. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/testing/test_golden.py +0 -0
  774. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/testing/test_http_harness.py +0 -0
  775. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/testing/test_in_memory.py +0 -0
  776. {loom_kernel-0.5.0 → loom_kernel-0.6.0}/tests/unit/testing/test_runner.py +0 -0
@@ -1,3 +1,121 @@
1
+ # 🚀 Release 0.6.0 ([#22](https://github.com/the-reacher-data/loom-py/pull/22)) ([`5146569`](https://github.com/the-reacher-data/loom-py/commit/51465697115036ed05f620a1099272e4fd216501))
2
+
3
+
4
+ ## ✨ Features
5
+ ### core
6
+ - **core:** add unified ObservabilityRuntime<br>
7
+ > Introduces the core observability package: LifecycleEvent, LifecycleObserver
8
+ > protocol, ObservabilityConfig, and ObservabilityRuntime as a single fan-out
9
+ > engine replacing the fragmented per-module observer wiring. Adds
10
+ > StructlogLifecycleObserver, OtelLifecycleObserver, NoopObserver, and
11
+ > PrometheusLifecycleAdapter (with Pushgateway support for ETL batch jobs).
12
+ > Backward-compat re-exports (safe_observe, notify_observers) kept for the
13
+ > streaming composite observer until the legacy cleanup commit.
14
+
15
+
16
+
17
+ ## 🐛 Fixes
18
+ ### observability
19
+ - **observability:** restore default bootstraps
20
+
21
+ ### rest
22
+ - **rest:** correct camel-to-snake conversion for acronyms in filter fields
23
+
24
+ ### streaming
25
+ - **streaming:** propagate trace ids through bytewax paths
26
+ - **streaming:** keep input trace ids through the micro
27
+ - **streaming:** bridge otel trace ids from messages
28
+
29
+
30
+ ## 📖 Documentation
31
+ - align yaml config and dummy repo links
32
+ - restore dummy repo urls
33
+ - fix markdown links for streaming dummies
34
+
35
+ ### prometheus
36
+ - **prometheus:** update KafkaPrometheusMetrics docstring metric names
37
+
38
+
39
+
40
+ ## ♻️ Refactor
41
+ ### observability
42
+ - **observability:** simplify otel log correlation
43
+ - **observability:** simplify otel exporter imports
44
+ - **observability:** expose ObservabilityRuntime in public API and clean architecture debt<br>
45
+ > Export ObservabilityRuntime and LifecycleStatus from loom.core.observability package
46
+ > Compute dict(meta) once in span() instead of three separate allocations
47
+ > Replace _SIGNALS_CONNECTED module-level global with ClassVar on _CeleryAsyncRuntime
48
+ > Add RuntimeError to bootstrap_worker Raises docstring
49
+ > Fix TraceIdMiddleware docstring example (removed spurious ObservabilityRuntime reference)
50
+ > Add missing observability_runtime param to _make_handler docstring
51
+
52
+ - **observability:** unify runtime across services
53
+ - **observability:** clean up dead code and docs
54
+
55
+ ### streaming
56
+ - **streaming:** migrate to unified ObservabilityRuntime<br>
57
+ > Replace StreamingObservabilityConfig and the manual observer construction
58
+ > in _load_observability_runtime() with ObservabilityRuntime.from_config().
59
+ > Observability config now lives under streaming.runtime.observability in YAML,
60
+ > eliminating the separate streaming.observability section.
61
+ > Delete src/loom/streaming/_observability.py (StreamingObservabilityConfig)
62
+ > Delete src/loom/streaming/observability/ directory (old observer stack)
63
+ > Add observability: ObservabilityConfig field to BytewaxRuntimeConfig
64
+ > StreamingRunner.from_config() calls ObservabilityRuntime.from_config() directly
65
+ > StreamingTestRunner defaults to ObservabilityRuntime.noop(); callers pass
66
+ > observability_runtime= explicitly when needed
67
+ > Update tests to use new config shape and ObservabilityRuntime([observer])
68
+
69
+ - **streaming:** replace KafkaStreamingObserver with LifecycleEvent/TRANSPORT<br>
70
+ > Eliminates the parallel KafkaStreamingObserver protocol hierarchy (NoopKafkaObserver,
71
+ > StructlogKafkaObserver) and models all Kafka transport events as LifecycleEvent with
72
+ > Scope.TRANSPORT. KafkaPrometheusMetrics now implements the LifecycleObserver protocol
73
+ > via a single on_event() dispatcher instead of four typed callback methods.
74
+
75
+ - **streaming:** preserve trace lineage across boundaries
76
+
77
+ ### prometheus
78
+ - **prometheus:** add KafkaMetricName enum and drop loom_ prefix<br>
79
+ > Extracts Prometheus metric names into a public KafkaMetricName StrEnum so
80
+ > callers can reference metric names without magic strings. Removes the loom_
81
+ > namespace prefix from all four Kafka instruments (produced_total,
82
+ > consumed_total, encode_duration_seconds, decode_duration_seconds).
83
+
84
+ - **prometheus:** drop loom prefix from lifecycle metrics
85
+
86
+ ### rest
87
+ - **rest:** use core observability runtime
88
+ - **rest:** read prometheus from observability config
89
+
90
+ ### celery
91
+ - **celery:** adopt async bridge and runtime config
92
+
93
+ ### etl
94
+ - **etl:** make spark pytest plugin opt-in
95
+
96
+
97
+
98
+ ## ✅ Tests
99
+ ### kafka
100
+ - **kafka:** update metric name assertions after loom_ prefix removal
101
+
102
+ ### observability
103
+ - **observability:** cover lineage and runtime branches
104
+
105
+ ### integration
106
+ - **integration:** add in-memory REST, observability, and bootstrap integration tests
107
+
108
+ ### etl
109
+ - **etl:** cover prometheus flush on runner shutdown
110
+
111
+
112
+ ## 🛠 Chores
113
+ ### deps
114
+ - **deps:** bump click to 8.3.3
115
+
116
+
117
+
118
+
1
119
  # 🚀 Release 0.5.0 ([#20](https://github.com/the-reacher-data/loom-py/pull/20)) ([`70f7cf8`](https://github.com/the-reacher-data/loom-py/commit/70f7cf85275fcc1f590e06f980dfac91cad50893))
2
120
 
3
121
 
@@ -0,0 +1,116 @@
1
+ # 🚀 Release 0.6.0 ([#22](https://github.com/the-reacher-data/loom-py/pull/22)) ([`5146569`](https://github.com/the-reacher-data/loom-py/commit/51465697115036ed05f620a1099272e4fd216501))
2
+
3
+
4
+ ## ✨ Features
5
+ ### core
6
+ - **core:** add unified ObservabilityRuntime<br>
7
+ > Introduces the core observability package: LifecycleEvent, LifecycleObserver
8
+ > protocol, ObservabilityConfig, and ObservabilityRuntime as a single fan-out
9
+ > engine replacing the fragmented per-module observer wiring. Adds
10
+ > StructlogLifecycleObserver, OtelLifecycleObserver, NoopObserver, and
11
+ > PrometheusLifecycleAdapter (with Pushgateway support for ETL batch jobs).
12
+ > Backward-compat re-exports (safe_observe, notify_observers) kept for the
13
+ > streaming composite observer until the legacy cleanup commit.
14
+
15
+
16
+
17
+ ## 🐛 Fixes
18
+ ### observability
19
+ - **observability:** restore default bootstraps
20
+
21
+ ### rest
22
+ - **rest:** correct camel-to-snake conversion for acronyms in filter fields
23
+
24
+ ### streaming
25
+ - **streaming:** propagate trace ids through bytewax paths
26
+ - **streaming:** keep input trace ids through the micro
27
+ - **streaming:** bridge otel trace ids from messages
28
+
29
+
30
+ ## 📖 Documentation
31
+ - align yaml config and dummy repo links
32
+ - restore dummy repo urls
33
+ - fix markdown links for streaming dummies
34
+
35
+ ### prometheus
36
+ - **prometheus:** update KafkaPrometheusMetrics docstring metric names
37
+
38
+
39
+
40
+ ## ♻️ Refactor
41
+ ### observability
42
+ - **observability:** simplify otel log correlation
43
+ - **observability:** simplify otel exporter imports
44
+ - **observability:** expose ObservabilityRuntime in public API and clean architecture debt<br>
45
+ > Export ObservabilityRuntime and LifecycleStatus from loom.core.observability package
46
+ > Compute dict(meta) once in span() instead of three separate allocations
47
+ > Replace _SIGNALS_CONNECTED module-level global with ClassVar on _CeleryAsyncRuntime
48
+ > Add RuntimeError to bootstrap_worker Raises docstring
49
+ > Fix TraceIdMiddleware docstring example (removed spurious ObservabilityRuntime reference)
50
+ > Add missing observability_runtime param to _make_handler docstring
51
+
52
+ - **observability:** unify runtime across services
53
+ - **observability:** clean up dead code and docs
54
+
55
+ ### streaming
56
+ - **streaming:** migrate to unified ObservabilityRuntime<br>
57
+ > Replace StreamingObservabilityConfig and the manual observer construction
58
+ > in _load_observability_runtime() with ObservabilityRuntime.from_config().
59
+ > Observability config now lives under streaming.runtime.observability in YAML,
60
+ > eliminating the separate streaming.observability section.
61
+ > Delete src/loom/streaming/_observability.py (StreamingObservabilityConfig)
62
+ > Delete src/loom/streaming/observability/ directory (old observer stack)
63
+ > Add observability: ObservabilityConfig field to BytewaxRuntimeConfig
64
+ > StreamingRunner.from_config() calls ObservabilityRuntime.from_config() directly
65
+ > StreamingTestRunner defaults to ObservabilityRuntime.noop(); callers pass
66
+ > observability_runtime= explicitly when needed
67
+ > Update tests to use new config shape and ObservabilityRuntime([observer])
68
+
69
+ - **streaming:** replace KafkaStreamingObserver with LifecycleEvent/TRANSPORT<br>
70
+ > Eliminates the parallel KafkaStreamingObserver protocol hierarchy (NoopKafkaObserver,
71
+ > StructlogKafkaObserver) and models all Kafka transport events as LifecycleEvent with
72
+ > Scope.TRANSPORT. KafkaPrometheusMetrics now implements the LifecycleObserver protocol
73
+ > via a single on_event() dispatcher instead of four typed callback methods.
74
+
75
+ - **streaming:** preserve trace lineage across boundaries
76
+
77
+ ### prometheus
78
+ - **prometheus:** add KafkaMetricName enum and drop loom_ prefix<br>
79
+ > Extracts Prometheus metric names into a public KafkaMetricName StrEnum so
80
+ > callers can reference metric names without magic strings. Removes the loom_
81
+ > namespace prefix from all four Kafka instruments (produced_total,
82
+ > consumed_total, encode_duration_seconds, decode_duration_seconds).
83
+
84
+ - **prometheus:** drop loom prefix from lifecycle metrics
85
+
86
+ ### rest
87
+ - **rest:** use core observability runtime
88
+ - **rest:** read prometheus from observability config
89
+
90
+ ### celery
91
+ - **celery:** adopt async bridge and runtime config
92
+
93
+ ### etl
94
+ - **etl:** make spark pytest plugin opt-in
95
+
96
+
97
+
98
+ ## ✅ Tests
99
+ ### kafka
100
+ - **kafka:** update metric name assertions after loom_ prefix removal
101
+
102
+ ### observability
103
+ - **observability:** cover lineage and runtime branches
104
+
105
+ ### integration
106
+ - **integration:** add in-memory REST, observability, and bootstrap integration tests
107
+
108
+ ### etl
109
+ - **etl:** cover prometheus flush on runner shutdown
110
+
111
+
112
+ ## 🛠 Chores
113
+ ### deps
114
+ - **deps:** bump click to 8.3.3
115
+
116
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: loom-kernel
3
- Version: 0.5.0
3
+ Version: 0.6.0
4
4
  Summary: Loom Python project
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.11
@@ -396,8 +396,13 @@ app:
396
396
  database:
397
397
  url: ${oc.env:DATABASE_URL,sqlite+aiosqlite:///store.db}
398
398
 
399
- metrics:
400
- enabled: false
399
+ observability:
400
+ log:
401
+ enabled: false
402
+ otel:
403
+ enabled: false
404
+ prometheus:
405
+ enabled: false
401
406
  ```
402
407
 
403
408
  ```python
@@ -329,8 +329,13 @@ app:
329
329
  database:
330
330
  url: ${oc.env:DATABASE_URL,sqlite+aiosqlite:///store.db}
331
331
 
332
- metrics:
333
- enabled: false
332
+ observability:
333
+ log:
334
+ enabled: false
335
+ otel:
336
+ enabled: false
337
+ prometheus:
338
+ enabled: false
334
339
  ```
335
340
 
336
341
  ```python
@@ -69,7 +69,7 @@ def _skip_duplicate_reexports(
69
69
  ("loom.core.errors", "RuleViolations"),
70
70
  ("loom.core.use_case", "RuleViolation"),
71
71
  ("loom.core.use_case", "RuleViolations"),
72
- ("loom.etl.observability", "OtelConfig"),
72
+ ("loom.etl.lineage", "ETLObservabilityConfig"),
73
73
  ("loom.testing", "CompilationError"),
74
74
  ("loom.rest.model", "PaginationMode"),
75
75
  }
@@ -165,9 +165,15 @@ storage:
165
165
  tmp_root: /var/lib/loom/lake/_tmp
166
166
 
167
167
  observability:
168
- log: true
169
- slow_step_threshold_ms: 30000
170
- run_sink:
168
+ log:
169
+ enabled: true
170
+ otel:
171
+ enabled: false
172
+ prometheus:
173
+ enabled: true
174
+ pushgateway_url: ${oc.env:PUSHGATEWAY_URL,http://127.0.0.1:9091}
175
+ lineage:
176
+ enabled: true
171
177
  # Choose exactly one destination:
172
178
  root: /var/lib/loom/lake/_runs
173
179
  # database: ops
@@ -42,7 +42,8 @@ def test_double_amount(loom_polars_runner):
42
42
  result.assert_count(2)
43
43
  ```
44
44
 
45
- Pytest fixtures auto-registered: `loom_polars_runner`, `loom_spark_runner`.
45
+ Pytest fixtures: `loom_polars_runner`. Import `loom.etl.testing.spark` or
46
+ register it explicitly in Spark-enabled suites to use `loom_spark_runner`.
46
47
 
47
48
  ## Spark integration tests
48
49
 
@@ -578,12 +578,15 @@ app:
578
578
  database:
579
579
  url: ${oc.env:DATABASE_URL,sqlite+aiosqlite:///./store.db}
580
580
 
581
- trace:
582
- enabled: ${oc.decode:${oc.env:TRACE_ENABLED,true}}
583
-
584
- metrics:
585
- enabled: ${oc.decode:${oc.env:METRICS_ENABLED,true}}
586
- path: /metrics
581
+ observability:
582
+ log:
583
+ enabled: true
584
+ otel:
585
+ enabled: false
586
+ prometheus:
587
+ enabled: ${oc.decode:${oc.env:METRICS_ENABLED,true}}
588
+ config:
589
+ path: /metrics
587
590
  ```
588
591
 
589
592
  ### Manifest mode (explicit registry)
@@ -90,9 +90,15 @@ storage:
90
90
  tmp_root: /var/lib/loom/lake/_tmp
91
91
 
92
92
  observability:
93
- log: true
94
- slow_step_threshold_ms: 30000
95
- run_sink:
93
+ log:
94
+ enabled: true
95
+ otel:
96
+ enabled: false
97
+ prometheus:
98
+ enabled: true
99
+ pushgateway_url: ${oc.env:PUSHGATEWAY_URL,http://127.0.0.1:9091}
100
+ lineage:
101
+ enabled: true
96
102
  root: /var/lib/loom/lake/_runs
97
103
  ```
98
104
 
@@ -58,6 +58,12 @@ app:
58
58
 
59
59
  database:
60
60
  url: ${oc.env:DATABASE_URL,sqlite+aiosqlite:///store.db}
61
+
62
+ observability:
63
+ log:
64
+ enabled: false
65
+ otel:
66
+ enabled: false
61
67
  ```
62
68
 
63
69
  ```python
@@ -330,12 +336,15 @@ app:
330
336
  database:
331
337
  url: ${oc.env:DATABASE_URL,sqlite+aiosqlite:///store.db}
332
338
 
333
- metrics:
334
- enabled: true
335
- path: /metrics
336
-
337
- trace:
338
- enabled: true
339
+ observability:
340
+ log:
341
+ enabled: true
342
+ otel:
343
+ enabled: false
344
+ prometheus:
345
+ enabled: true
346
+ config:
347
+ path: /metrics
339
348
  ```
340
349
 
341
350
  ```python
@@ -4,7 +4,7 @@
4
4
  steps, batching, branching, and transport wiring.
5
5
 
6
6
  The companion demo repository for this subsystem is
7
- `dummy-loom-streaming <https://github.com/the-reacher-data/dummy-loom-streaming>`_.
7
+ [dummy-loom-streaming](https://github.com/the-reacher-data/dummy-loom-streaming).
8
8
 
9
9
  ## Install
10
10
 
@@ -94,4 +94,4 @@ Use `loom.streaming.nodes`, `loom.streaming.kafka`, and
94
94
  surface.
95
95
 
96
96
  For a runnable end-to-end example, see the companion repository:
97
- `dummy-loom-streaming <https://github.com/the-reacher-data/dummy-loom-streaming>`_.
97
+ [dummy-loom-streaming](https://github.com/the-reacher-data/dummy-loom-streaming).
@@ -282,6 +282,12 @@ celery:
282
282
 
283
283
  # For integration tests: run tasks synchronously in the calling process.
284
284
  task_always_eager: false
285
+
286
+ # Async bridge settings used by async jobs/callbacks.
287
+ runtime:
288
+ backend: asyncio # asyncio or trio
289
+ use_uvloop: true # only applies to asyncio on supported platforms
290
+ shutdown_timeout_ms: 10000
285
291
  ```
286
292
 
287
293
  (per-job-overrides-from-yaml)=
@@ -497,6 +503,9 @@ celery:
497
503
  broker_url: "redis://localhost:6379/15"
498
504
  result_backend: "redis://localhost:6379/15"
499
505
  task_always_eager: true
506
+ runtime:
507
+ backend: asyncio
508
+ use_uvloop: false
500
509
  ```
501
510
 
502
511
  Or patch it in a pytest fixture:
@@ -165,9 +165,15 @@ storage:
165
165
  tmp_root: /var/lib/loom/lake/_tmp
166
166
 
167
167
  observability:
168
- log: true
169
- slow_step_threshold_ms: 30000
170
- run_sink:
168
+ log:
169
+ enabled: true
170
+ otel:
171
+ enabled: false
172
+ prometheus:
173
+ enabled: true
174
+ pushgateway_url: ${oc.env:PUSHGATEWAY_URL,http://127.0.0.1:9091}
175
+ lineage:
176
+ enabled: true
171
177
  # Choose exactly one destination:
172
178
  root: /var/lib/loom/lake/_runs
173
179
  # database: ops
@@ -19,7 +19,7 @@ design rules:
19
19
  - prefer explicit contracts over reflection-heavy magic
20
20
 
21
21
  The companion demo repository for the streaming subsystem is
22
- `dummy-loom-streaming <https://github.com/the-reacher-data/dummy-loom-streaming>`_.
22
+ [dummy-loom-streaming](https://github.com/the-reacher-data/dummy-loom-streaming).
23
23
 
24
24
  ## At a glance
25
25
 
@@ -28,7 +28,7 @@ Execution Infrastructure
28
28
 
29
29
  loom.etl.storage
30
30
  loom.etl.checkpoint
31
- loom.etl.observability
31
+ loom.etl.lineage
32
32
 
33
33
  Backends
34
34
  --------
@@ -282,6 +282,12 @@ celery:
282
282
 
283
283
  # For integration tests: run tasks synchronously in the calling process.
284
284
  task_always_eager: false
285
+
286
+ # Async bridge settings used by async jobs/callbacks.
287
+ runtime:
288
+ backend: asyncio # asyncio or trio
289
+ use_uvloop: true # only applies to asyncio on supported platforms
290
+ shutdown_timeout_ms: 10000
285
291
  ```
286
292
 
287
293
  (rest-per-job-overrides-from-yaml)=
@@ -497,6 +503,9 @@ celery:
497
503
  broker_url: "redis://localhost:6379/15"
498
504
  result_backend: "redis://localhost:6379/15"
499
505
  task_always_eager: true
506
+ runtime:
507
+ backend: asyncio
508
+ use_uvloop: false
500
509
  ```
501
510
 
502
511
  Or patch it in a pytest fixture:
@@ -578,12 +578,15 @@ app:
578
578
  database:
579
579
  url: ${oc.env:DATABASE_URL,sqlite+aiosqlite:///./store.db}
580
580
 
581
- trace:
582
- enabled: ${oc.decode:${oc.env:TRACE_ENABLED,true}}
583
-
584
- metrics:
585
- enabled: ${oc.decode:${oc.env:METRICS_ENABLED,true}}
586
- path: /metrics
581
+ observability:
582
+ log:
583
+ enabled: false
584
+ otel:
585
+ enabled: false
586
+ prometheus:
587
+ enabled: ${oc.decode:${oc.env:METRICS_ENABLED,true}}
588
+ config:
589
+ path: /metrics
587
590
  ```
588
591
 
589
592
  ### Manifest mode (explicit registry)
@@ -4,7 +4,7 @@
4
4
  `StreamFlow` into a real Bytewax dataflow.
5
5
 
6
6
  For a runnable end-to-end reference implementation, see:
7
- `dummy-loom-streaming <https://github.com/the-reacher-data/dummy-loom-streaming>`_.
7
+ [dummy-loom-streaming](https://github.com/the-reacher-data/dummy-loom-streaming).
8
8
 
9
9
  ## What it does
10
10
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "loom-kernel"
3
- version = "0.5.0"
3
+ version = "0.6.0"
4
4
  description = "Loom Python project"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.11"
@@ -79,9 +79,6 @@ celery = [
79
79
  "redis>=5.0,<6.0",
80
80
  ]
81
81
 
82
- [project.entry-points.pytest11]
83
- loom-spark = "loom.etl.testing.spark"
84
-
85
82
  [project.entry-points."loom.etl.backends"]
86
83
  polars = "loom.etl.backends.polars.provider:PolarsProvider"
87
84
  spark = "loom.etl.backends.spark.provider:SparkProvider"
@@ -223,7 +220,7 @@ markers = [
223
220
 
224
221
  [tool.commitizen]
225
222
  name = "cz_conventional_commits"
226
- version = "0.5.0"
223
+ version = "0.6.0"
227
224
  tag_format = "v$version"
228
225
  version_files = [
229
226
  "pyproject.toml:project.version",