tigrbl-atoms 0.4.1.dev6__tar.gz → 0.4.2.dev4__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 (143) hide show
  1. tigrbl_atoms-0.4.2.dev4/NOTICE +7 -0
  2. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/PKG-INFO +151 -111
  3. tigrbl_atoms-0.4.2.dev4/README.md +159 -0
  4. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/pyproject.toml +16 -7
  5. tigrbl_atoms-0.4.1.dev6/README.md +0 -125
  6. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/LICENSE +0 -0
  7. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/__init__.py +0 -0
  8. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/_ctx.py +0 -0
  9. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/_opview_helpers.py +0 -0
  10. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/_request.py +0 -0
  11. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/algebra.py +0 -0
  12. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/__init__.py +0 -0
  13. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/_temp.py +0 -0
  14. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/__init__.py +0 -0
  15. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/_scheduler.py +0 -0
  16. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/_types.py +0 -0
  17. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/abort_group.py +0 -0
  18. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/admit.py +0 -0
  19. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/await_seal.py +0 -0
  20. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/cleanup.py +0 -0
  21. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/commit.py +0 -0
  22. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/dedupe.py +0 -0
  23. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/error_project.py +0 -0
  24. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/execute.py +0 -0
  25. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/precommit_validate.py +0 -0
  26. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/prepare_execute.py +0 -0
  27. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/reject_admission.py +0 -0
  28. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/result_slots.py +0 -0
  29. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/scheduler.py +0 -0
  30. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/seal_check.py +0 -0
  31. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/batch/tx_begin.py +0 -0
  32. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/dep/__init__.py +0 -0
  33. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/dep/_param_resolver.py +0 -0
  34. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/dep/extra.py +0 -0
  35. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/dep/security.py +0 -0
  36. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/dispatch/__init__.py +0 -0
  37. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/dispatch/binding_match.py +0 -0
  38. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/dispatch/binding_parse.py +0 -0
  39. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/dispatch/input_normalize.py +0 -0
  40. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/dispatch/op_resolve.py +0 -0
  41. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/egress/__init__.py +0 -0
  42. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/egress/asgi_send.py +0 -0
  43. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/egress/envelope_apply.py +0 -0
  44. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/egress/headers_apply.py +0 -0
  45. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/egress/http_finalize.py +0 -0
  46. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/egress/out_dump.py +0 -0
  47. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/egress/result_normalize.py +0 -0
  48. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/egress/to_transport_response.py +0 -0
  49. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/emit/__init__.py +0 -0
  50. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/emit/paired_post.py +0 -0
  51. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/emit/paired_pre.py +0 -0
  52. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/emit/readtime_alias.py +0 -0
  53. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/err/__init__.py +0 -0
  54. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/err/classify.py +0 -0
  55. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/err/ctx_build.py +0 -0
  56. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/err/rollback.py +0 -0
  57. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/err/transport_shape.py +0 -0
  58. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/fanout/__init__.py +0 -0
  59. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/fanout/emit_many.py +0 -0
  60. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/fanout/shape.py +0 -0
  61. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/hot/__init__.py +0 -0
  62. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/hot/slots.py +0 -0
  63. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/ingress/__init__.py +0 -0
  64. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/ingress/ctx_init.py +0 -0
  65. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/ingress/input_prepare.py +0 -0
  66. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/ingress/transport_extract.py +0 -0
  67. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/intent/__init__.py +0 -0
  68. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/intent/build.py +0 -0
  69. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/intent/final_group_key.py +0 -0
  70. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/intent/prekey.py +0 -0
  71. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/out/__init__.py +0 -0
  72. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/out/masking.py +0 -0
  73. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/refresh/__init__.py +0 -0
  74. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/refresh/demand.py +0 -0
  75. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/resolve/__init__.py +0 -0
  76. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/resolve/assemble.py +0 -0
  77. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/resolve/paired_gen.py +0 -0
  78. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/response/__init__.py +0 -0
  79. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/response/error_to_transport.py +0 -0
  80. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/response/headers_from_payload.py +0 -0
  81. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/response/negotiate.py +0 -0
  82. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/response/negotiation.py +0 -0
  83. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/response/render.py +0 -0
  84. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/response/renderer.py +0 -0
  85. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/response/template.py +0 -0
  86. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/response/templates.py +0 -0
  87. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/schema/__init__.py +0 -0
  88. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/schema/collect_in.py +0 -0
  89. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/schema/collect_out.py +0 -0
  90. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/storage/__init__.py +0 -0
  91. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/storage/to_stored.py +0 -0
  92. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/__init__.py +0 -0
  93. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/_db.py +0 -0
  94. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/_oltp_context.py +0 -0
  95. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/commit_tx.py +0 -0
  96. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_aggregate.py +0 -0
  97. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_append_chunk.py +0 -0
  98. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_bulk_create.py +0 -0
  99. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_bulk_delete.py +0 -0
  100. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_bulk_merge.py +0 -0
  101. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_bulk_replace.py +0 -0
  102. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_bulk_update.py +0 -0
  103. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_checkpoint.py +0 -0
  104. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_clear.py +0 -0
  105. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_count.py +0 -0
  106. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_create.py +0 -0
  107. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_custom.py +0 -0
  108. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_delete.py +0 -0
  109. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_download.py +0 -0
  110. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_exists.py +0 -0
  111. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_group_by.py +0 -0
  112. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_list.py +0 -0
  113. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_merge.py +0 -0
  114. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_noop.py +0 -0
  115. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_persistence.py +0 -0
  116. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_publish.py +0 -0
  117. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_read.py +0 -0
  118. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_replace.py +0 -0
  119. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_send_datagram.py +0 -0
  120. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_subscribe.py +0 -0
  121. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_tail.py +0 -0
  122. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_update.py +0 -0
  123. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/handler_upload.py +0 -0
  124. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/phase_db.py +0 -0
  125. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/sys/start_tx.py +0 -0
  126. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/transport/__init__.py +0 -0
  127. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/transport/sink_bind.py +0 -0
  128. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/transport/unit_capture.py +0 -0
  129. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/wire/__init__.py +0 -0
  130. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/wire/build_in.py +0 -0
  131. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/wire/build_out.py +0 -0
  132. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/wire/dump.py +0 -0
  133. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/atoms/wire/validate_in.py +0 -0
  134. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/events.py +0 -0
  135. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/fallback.py +0 -0
  136. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/phases.py +0 -0
  137. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/protocol_runtime.py +0 -0
  138. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/runtime_callbacks.py +0 -0
  139. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/runtime_channel.py +0 -0
  140. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/runtime_transactions.py +0 -0
  141. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/rust.py +0 -0
  142. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/stages.py +0 -0
  143. {tigrbl_atoms-0.4.1.dev6 → tigrbl_atoms-0.4.2.dev4}/tigrbl_atoms/types.py +0 -0
@@ -0,0 +1,7 @@
1
+ Tigrbl
2
+ Copyright 2026 Swarmauri
3
+
4
+ This product includes software developed by Swarmauri.
5
+
6
+ Tigrbl is licensed under the Apache License, Version 2.0.
7
+ See the LICENSE file distributed with this work for the full license text.
@@ -1,7 +1,7 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tigrbl-atoms
3
- Version: 0.4.1.dev6
4
- Summary: Runtime atom utilities for Tigrbl planning, dispatch, transport ingress, egress, and high-throughput ASGI execution pipelines.
3
+ Version: 0.4.2.dev4
4
+ Summary: Runtime atom package for Tigrbl stages, phases, typed contexts, event anchors, protocol execution, and composable pipeline algebra.
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
7
7
  http://www.apache.org/licenses/
@@ -204,14 +204,17 @@ License: Apache License
204
204
  See the License for the specific language governing permissions and
205
205
  limitations under the License.
206
206
  License-File: LICENSE
207
- Keywords: tigrbl,asgi,api,json-rpc,rest,sqlalchemy,pydantic,atoms,runtime,execution,pipeline,openapi,openrpc,schema-first
207
+ License-File: NOTICE
208
+ Keywords: tigrbl,asgi,api,atom algebra,atom pipeline,event anchors,json-rpc,atoms,execution,phases,openapi,openrpc,protocol runtime,rest,runtime,schema-first,stages,typed context
208
209
  Author: Jacob Stewart
209
210
  Author-email: jacob@swarmauri.com
210
211
  Requires-Python: >=3.10,<3.15
211
212
  Classifier: Development Status :: 3 - Alpha
213
+ Classifier: Environment :: Web Environment
212
214
  Classifier: Intended Audience :: Developers
213
215
  Classifier: Intended Audience :: Information Technology
214
216
  Classifier: Framework :: AsyncIO
217
+ Classifier: License :: OSI Approved :: Apache Software License
215
218
  Classifier: Operating System :: OS Independent
216
219
  Classifier: Programming Language :: Python
217
220
  Classifier: Programming Language :: Python :: 3
@@ -222,8 +225,11 @@ Classifier: Programming Language :: Python :: 3.12
222
225
  Classifier: Programming Language :: Python :: 3.13
223
226
  Classifier: Programming Language :: Python :: 3.14
224
227
  Classifier: Topic :: Internet :: WWW/HTTP
228
+ Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
229
+ Classifier: Topic :: Software Development :: Code Generators
225
230
  Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
226
231
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
232
+ Classifier: Typing :: Typed
227
233
  Requires-Dist: jinja2 (>=3.1)
228
234
  Requires-Dist: sqlalchemy (>=2.0)
229
235
  Requires-Dist: tigrbl-core
@@ -239,129 +245,163 @@ Project-URL: Organization, https://github.com/tigrbl
239
245
  Project-URL: Repository, https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_atoms
240
246
  Description-Content-Type: text/markdown
241
247
 
242
- ![Tigrbl Logo](https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png)
243
-
244
- <p align="center">
245
- <a href="https://pepy.tech/project/tigrbl-atoms">
246
- <img src="https://static.pepy.tech/badge/tigrbl-atoms" alt="Pepy downloads for tigrbl-atoms"/></a>
247
- <a href="https://hits.sh/github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_atoms/">
248
- <img src="https://hits.sh/github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_atoms.svg" alt="Repository views for tigrbl-atoms"/></a>
249
- <a href="https://pypi.org/project/tigrbl-atoms/">
250
- <img src="https://img.shields.io/badge/python-3.10--3.14-blue" alt="Python 3.10 through 3.14"/></a>
251
- <a href="https://pypi.org/project/tigrbl-atoms/">
252
- <img src="https://img.shields.io/pypi/l/tigrbl-atoms" alt="PyPI license metadata for tigrbl-atoms"/></a>
253
- <a href="https://pypi.org/project/tigrbl-atoms/">
254
- <img src="https://img.shields.io/pypi/v/tigrbl-atoms?label=tigrbl-atoms&color=green" alt="PyPI version for tigrbl-atoms"/></a>
255
- </p>
256
-
257
- ---
258
-
259
- <h1 align="center">Tigrbl atoms</h1>
260
-
261
- **Install and inspect `tigrbl-atoms`: [download `tigrbl-atoms` from PyPI](https://pypi.org/project/tigrbl-atoms/) or [open the package source](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_atoms).**
262
-
263
- tigrbl-atoms is a runtime atom package for runtime atom utilities and execution helpers for Tigrbl planning and dispatch pipelines.
264
-
265
- `tigrbl-atoms` is part of the Tigrbl package graph. It documents package-resident classes, concepts, extension points, and execution responsibilities while cross-linking to the facade, core specs, canonical mapping, runtime phases, concrete objects, operation packages, engine plugins, OpenAPI/OpenRPC documentation surfaces, and PyPI distributions that complete the system.
266
-
267
- ## Package ownership
268
-
269
- - `tigrbl-atoms` documents the concepts implemented in `pkgs/core/tigrbl_atoms` and links to the Tigrbl packages that provide neighboring authoring, canon, runtime, operation, and engine behavior.
270
- - Use this README as the package-local explanation for the objects that live here; use governed docs for release state, certification, and evidence.
271
-
272
- ## Package ecosystem cross-links
273
-
274
- Every Tigrbl Python package links to its sibling distributions on PyPI so package indexes, search engines, answer engines, dependency scanners, and human readers can move through the installable package graph without falling back to source-tree paths.
275
-
276
- Core packages:
277
- - [`tigrbl`](https://pypi.org/project/tigrbl/) - Schema-first ASGI API framework for REST, JSON-RPC, OpenAPI, OpenRPC, SQLAlchemy models, typed validation, lifecycle hooks, and engine plugins.
278
- - [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/) (this package) - Runtime atom utilities for Tigrbl planning, dispatch, transport ingress, egress, and high-throughput ASGI execution pipelines.
279
- - [`tigrbl-base`](https://pypi.org/project/tigrbl-base/) - Abstract base interfaces for Tigrbl APIs, engines, providers, sessions, transports, and reusable runtime components.
280
- - [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/) - Canonical mapping, routing, symbol resolution, and naming utilities for Tigrbl framework packages and generated API surfaces.
281
- - [`tigrbl_client`](https://pypi.org/project/tigrbl_client/) - Typed Python client helpers for calling Tigrbl REST, JSON-RPC, OpenAPI, and generated schema-first API surfaces.
282
- - [`tigrbl-concrete`](https://pypi.org/project/tigrbl-concrete/) - Concrete Tigrbl implementations for reusable framework behavior, sessions, routes, responses, and base abstraction adapters.
283
- - [`tigrbl-core`](https://pypi.org/project/tigrbl-core/) - Core Tigrbl framework specifications, decorators, schemas, hooks, operations, and primitives for schema-first APIs.
284
- - [`tigrbl-kernel`](https://pypi.org/project/tigrbl-kernel/) - Kernel orchestration for composing Tigrbl runtime plans, bindings, operation dispatch, and optimized ASGI execution.
285
- - [`tigrbl-ops-olap`](https://pypi.org/project/tigrbl-ops-olap/) - Analytical OLAP operation boundaries for Tigrbl workloads, query-oriented APIs, and engine integrations.
286
- - [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/) - Transactional OLTP operation handlers for Tigrbl CRUD, bulk, REST, JSON-RPC, and database-backed workloads.
287
- - [`tigrbl-ops-realtime`](https://pypi.org/project/tigrbl-ops-realtime/) - Realtime, streaming, datagram, websocket, and event operation handlers for Tigrbl ASGI runtimes.
288
- - [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/) - SQLAlchemy ORM tables, mixins, columns, model helpers, and persistence primitives for Tigrbl applications.
289
- - [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/) - Runtime pipeline helpers and execution bridge surfaces for Tigrbl ASGI applications, transports, and operation dispatch.
290
- - [`tigrbl_spec`](https://pypi.org/project/tigrbl_spec/) - Shared Tigrbl interfaces, protocol definitions, compatibility targets, and specification artifacts for framework integration.
291
- - [`tigrbl_tests`](https://pypi.org/project/tigrbl_tests/) - Reusable Tigrbl pytest fixtures, conformance assertions, integration helpers, and package test utilities.
292
- - [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/) - Typing protocols, aliases, generics, and shared type helpers for Tigrbl framework packages and extensions.
293
-
294
- Engine packages:
295
- - [`tigrbl_engine_bigquery`](https://pypi.org/project/tigrbl_engine_bigquery/) - BigQuery engine plugin for Google BigQuery warehouse sessions, analytics workloads, and Tigrbl engine registration.
296
- - [`tigrbl_engine_clickhouse`](https://pypi.org/project/tigrbl_engine_clickhouse/) - ClickHouse engine plugin for analytical database sessions, warehouse workloads, and Tigrbl engine registration.
297
- - [`tigrbl_engine_csv`](https://pypi.org/project/tigrbl_engine_csv/) - CSV engine plugin for file-backed tables, pandas DataFrames, and lightweight Tigrbl data workflows.
298
- - [`tigrbl_engine_dataframe`](https://pypi.org/project/tigrbl_engine_dataframe/) - DataFrame engine plugin for transactional pandas sessions and in-process Tigrbl analytics workloads.
299
- - [`tigrbl_engine_duckdb`](https://pypi.org/project/tigrbl_engine_duckdb/) - DuckDB engine plugin for embedded analytical database sessions, OLAP workloads, and Tigrbl engine registration.
300
- - [`tigrbl_engine_inmemcache`](https://pypi.org/project/tigrbl_engine_inmemcache/) - In-memory cache engine plugin for process-local TTL, LRU, and fast Tigrbl cache workflows.
301
- - [`tigrbl_engine_inmemory`](https://pypi.org/project/tigrbl_engine_inmemory/) - In-memory database engine plugin for process-local transactional storage, copy-on-write snapshots, and Tigrbl testing.
302
- - [`tigrbl_engine_membloom`](https://pypi.org/project/tigrbl_engine_membloom/) - In-memory Bloom filter engine plugin for membership checks, rotating TTL windows, and Tigrbl API workflows.
303
- - [`tigrbl_engine_memdedupe`](https://pypi.org/project/tigrbl_engine_memdedupe/) - In-memory dedupe engine plugin for idempotency tracking, duplicate suppression, and Tigrbl workflow coordination.
304
- - [`tigrbl_engine_memkv`](https://pypi.org/project/tigrbl_engine_memkv/) - In-memory key-value engine plugin for process-local KV storage, cache workflows, and lightweight Tigrbl services.
305
- - [`tigrbl_engine_memlru`](https://pypi.org/project/tigrbl_engine_memlru/) - In-memory LRU engine plugin for least-recently-used cache behavior and process-local Tigrbl data workflows.
306
- - [`tigrbl_engine_mempubsub`](https://pypi.org/project/tigrbl_engine_mempubsub/) - In-memory pub/sub engine plugin for process-local publish-subscribe channels, events, and Tigrbl realtime workflows.
307
- - [`tigrbl_engine_memqueue`](https://pypi.org/project/tigrbl_engine_memqueue/) - In-memory queue engine plugin for process-local tasks, message workflows, and Tigrbl runtime coordination.
308
- - [`tigrbl_engine_memrate`](https://pypi.org/project/tigrbl_engine_memrate/) - In-memory rate-limit engine plugin for API quotas, counters, windows, and Tigrbl governance workflows.
309
- - [`tigrbl_engine_numpy`](https://pypi.org/project/tigrbl_engine_numpy/) - NumPy engine plugin for array-to-table helpers, analytical workflows, and Tigrbl data integration.
310
- - [`tigrbl_engine_pandas`](https://pypi.org/project/tigrbl_engine_pandas/) - Pandas engine plugin for transactional DataFrame sessions, tabular workflows, and Tigrbl data integration.
311
- - [`tigrbl_engine_pgsqli_wal`](https://pypi.org/project/tigrbl_engine_pgsqli_wal/) - PostgreSQL and SQLite WAL engine plugin for transactional Tigrbl workflows and database-backed engine registration.
312
- - [`tigrbl_engine_postgres`](https://pypi.org/project/tigrbl_engine_postgres/) - PostgreSQL engine plugin for SQLAlchemy sessions, async database workflows, and Tigrbl application persistence.
313
- - [`tigrbl_engine_pyspark`](https://pypi.org/project/tigrbl_engine_pyspark/) - PySpark engine plugin for distributed DataFrame integration, analytics workloads, and Tigrbl data workflows.
314
- - [`tigrbl_engine_redis`](https://pypi.org/project/tigrbl_engine_redis/) - Redis engine plugin for cache, data structures, and Tigrbl engine workflows backed by Redis.
315
- - [`tigrbl_engine_rediscachethrough`](https://pypi.org/project/tigrbl_engine_rediscachethrough/) - Redis cache-through engine plugin for Redis, PostgreSQL, and Tigrbl data-access acceleration workflows.
316
- - [`tigrbl_engine_snowflake`](https://pypi.org/project/tigrbl_engine_snowflake/) - Snowflake engine plugin for warehouse sessions, analytical workloads, and Tigrbl engine registration.
317
- - [`tigrbl_engine_sqlite`](https://pypi.org/project/tigrbl_engine_sqlite/) - SQLite engine plugin for SQLAlchemy sessions, local transactional storage, and Tigrbl application persistence.
318
- - [`tigrbl_engine_xlsx`](https://pypi.org/project/tigrbl_engine_xlsx/) - XLSX engine plugin for Excel workbook-backed tables, worksheet data access, and Tigrbl tabular workflows.
319
-
320
- Application packages:
321
- - [`tigrbl_acme_ca`](https://pypi.org/project/tigrbl_acme_ca/) - ACME v2 certificate authority app for Tigrbl tables, certificate automation, TLS workflows, and API surfaces.
322
- - [`tigrbl_spiffe`](https://pypi.org/project/tigrbl_spiffe/) - SPIFFE and SPIRE identity app for Tigrbl with workload identity tables, UDS transport, and HTTP API surfaces.
323
-
324
- Source-tree links remain available from each package identity section; this ecosystem section is intentionally PyPI-first for package discovery and installation routing.
248
+ <div align="center">
249
+ <h1>tigrbl-atoms</h1>
250
+ <img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png" alt="Tigrbl logo" width="140"/>
251
+ <p><strong>Runtime atom package for Tigrbl stages, phases, typed contexts, event anchors, protocol execution, and composable pipeline algebra.</strong></p>
252
+ <a href="https://pypi.org/project/tigrbl-atoms/"><img src="https://img.shields.io/pypi/v/tigrbl-atoms?label=PyPI" alt="PyPI version for tigrbl-atoms"/></a>
253
+ <a href="https://pypi.org/project/tigrbl-atoms/"><img src="https://static.pepy.tech/badge/tigrbl-atoms" alt="Downloads for tigrbl-atoms"/></a>
254
+ <a href="https://discord.gg/K4YTAPapjR"><img src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white" alt="Discord community for tigrbl-atoms"/></a>
255
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_atoms/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_atoms/README.md.svg?label=hits" alt="Repository hits for tigrbl-atoms README"/></a>
256
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
257
+ <a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-3776ab" alt="Python versions 3.10 | 3.11 | 3.12 | 3.13 | 3.14 for tigrbl-atoms"/></a>
258
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-core-1f6feb" alt="Workspace group for tigrbl-atoms"/></a>
259
+ </div>
260
+
261
+ ## What is tigrbl-atoms?
262
+
263
+ Runtime atom package for Tigrbl stages, phases, typed contexts, event anchors, protocol execution, and composable pipeline algebra.
264
+
265
+ ## Why use tigrbl-atoms?
266
+
267
+ Use it when you need this foundational Tigrbl layer directly as a small, focused dependency.
268
+
269
+ ## When should I install tigrbl-atoms?
270
+
271
+ Install it for extension packages, package-local tests, or internals that need this boundary without the whole facade.
272
+
273
+ ## Who is tigrbl-atoms for?
274
+
275
+ Framework maintainers, extension authors, and advanced users composing Tigrbl from split packages.
276
+
277
+ ## Where does tigrbl-atoms fit?
278
+
279
+ `tigrbl-atoms` lives at `pkgs/core/tigrbl_atoms` and serves a focused layer in the split Tigrbl framework.
280
+
281
+ ## How does tigrbl-atoms work?
282
+
283
+ It owns a narrow layer in the split workspace and is consumed by higher-level packages through explicit dependencies.
284
+
285
+ ## Certification Status
286
+
287
+ - Package status: governed package in the `tigrbl/tigrbl` workspace.
288
+ - Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
289
+ - Release evidence: [publish workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml) validates package builds, tests, GitHub release assets, and PyPI publication for managed packages.
290
+ - Local certification guard: `pkgs/core/tigrbl_tests/tests/unit/test_package_badges_and_notices.py` verifies every package README keeps the Discord badge, Apache 2.0 badge, explicit Python-version badge, `LICENSE`, and `NOTICE`.
291
+ - Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
325
292
 
326
293
  ## Install
327
294
 
295
+ ```bash
296
+ uv add tigrbl-atoms
297
+ ```
298
+
328
299
  ```bash
329
300
  pip install tigrbl-atoms
330
301
  ```
331
302
 
332
- ## Package discovery
303
+ ## Surface Coverage
304
+
305
+ | Surface | Value |
306
+ |---|---|
307
+ | PyPI package | [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/) |
308
+ | Repository path | [`pkgs/core/tigrbl_atoms`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_atoms) |
309
+ | Python import root | `tigrbl_atoms` |
310
+ | Console scripts | none declared |
311
+ | Entry points | none declared |
312
+ | Optional extras | none declared |
313
+ | Legal files | `LICENSE`, `NOTICE` |
314
+ | Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
315
+
316
+ ## What It Owns
317
+
318
+ `tigrbl-atoms` owns the `foundational framework package` boundary. It should be installed when you need this package's focused responsibility without assuming every other Tigrbl workspace package is present.
319
+
320
+ Implementation orientation:
321
+ - `tigrbl_atoms`: _ctx, _opview_helpers, _request, algebra, atoms/, events, fallback, phases, protocol_runtime, runtime_callbacks, runtime_channel, runtime_transactions
322
+
323
+ ## Public API and Import Surface
324
+
325
+ - Import roots: `tigrbl_atoms`.
326
+ - Public symbols: `EGRESS_PHASES`, `EdgeTarget`, `ErrorCtx`, `HANDLER_PHASES`, `HookPhase`, `HookPhases`, `HookPredicate`, `INGRESS_PHASES`, `PHASE_SEQUENCE`, `PhaseTreeEdge`, `PhaseTreeNode`, `StepFn`.
327
+ - Workspace dependencies: [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/), [`tigrbl-ops-olap`](https://pypi.org/project/tigrbl-ops-olap/), [`tigrbl-ops-realtime`](https://pypi.org/project/tigrbl-ops-realtime/), [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/).
328
+ - External runtime dependencies: `jinja2>=3.1`, `sqlalchemy>=2.0`, `typing-extensions>=4.0`.
329
+
330
+ ## Usage Examples
331
+
332
+ ### Verify the installed package
333
+
334
+ ```bash
335
+ python -m pip show tigrbl-atoms
336
+ python - <<'PY'
337
+ from importlib.metadata import version
338
+ print(version("tigrbl-atoms"))
339
+ PY
340
+ ```
341
+
342
+ ### Import the package boundary
343
+
344
+ ```python
345
+ import importlib
346
+
347
+ module = importlib.import_module("tigrbl_atoms")
348
+ print(module.__name__)
349
+ ```
350
+
351
+ ### Import a public symbol
352
+
353
+ ```python
354
+ from tigrbl_atoms import EGRESS_PHASES
355
+
356
+ print(EGRESS_PHASES)
357
+ ```
358
+
359
+ ### Use with the facade when building applications
360
+
361
+ ```bash
362
+ uv add tigrbl tigrbl-atoms
363
+ python - <<'PY'
364
+ import tigrbl
365
+ print(tigrbl.__name__)
366
+ PY
367
+ ```
368
+
369
+ ## How To Choose This Package
370
+
371
+ Choose `tigrbl-atoms` when the quick-answer table matches your use case. Choose [`tigrbl`](https://pypi.org/project/tigrbl/) instead when you want the full public facade. Choose a lower-level package such as [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), or [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/) when you are building framework extensions or testing a specific internal boundary.
333
372
 
334
- `tigrbl-atoms` is described for package indexes, search engines, answer engines, and AI coding tools as: Runtime atom utilities for Tigrbl planning, dispatch, transport ingress, egress, and high-throughput ASGI execution pipelines.
373
+ ## Related Packages
335
374
 
336
- Use `tigrbl-atoms` when you need Tigrbl's schema-first ASGI package graph for REST APIs, JSON-RPC APIs, OpenAPI documentation, OpenRPC documentation, SQLAlchemy-backed models, Pydantic validation, typed operation specs, runtime dispatch, and installable engine or application extensions.
375
+ - [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/)
376
+ - [`tigrbl-ops-olap`](https://pypi.org/project/tigrbl-ops-olap/)
377
+ - [`tigrbl-ops-realtime`](https://pypi.org/project/tigrbl-ops-realtime/)
378
+ - [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
379
+ - [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/)
380
+ - [`tigrbl`](https://pypi.org/project/tigrbl/)
381
+ - [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
382
+ - [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
337
383
 
338
- Discovery terms: tigrbl, ASGI, schema-first API framework, REST API, JSON-RPC API, OpenAPI documentation, OpenRPC documentation, SQLAlchemy models, Pydantic validation, typed validation, operation dispatch, engine plugins, api, json-rpc, rest, sqlalchemy, pydantic, atoms, runtime, execution, pipeline, openapi, openrpc, schema-first.
384
+ ## Documentation Links
339
385
 
340
- ## Package-local entry point
386
+ - [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
387
+ - [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
388
+ - [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
389
+ - [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
390
+ - [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
391
+ - [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
392
+ - [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
341
393
 
342
- This file is a package-local distribution entry point.
343
- It is not the authoritative location for repository governance, current target status, current state reporting, certification claims, or release evidence.
394
+ ## Support
344
395
 
345
- ## Canonical repository docs
396
+ - Community: [Discord](https://discord.gg/K4YTAPapjR).
397
+ - Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
398
+ - Repository: [pkgs/core/tigrbl_atoms](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_atoms).
346
399
 
347
- - `README.md`
348
- - `docs/README.md`
349
- - `docs/conformance/CURRENT_TARGET.md`
350
- - `docs/conformance/CURRENT_STATE.md`
351
- - `docs/conformance/NEXT_STEPS.md`
352
- - `docs/governance/DOC_POINTERS.md`
353
- - `docs/developer/PACKAGE_CATALOG.md`
354
- - `docs/developer/PACKAGE_LAYOUT.md`
400
+ ## Package-local Boundary
355
401
 
356
- ## Package identity
402
+ This README is the package-local distribution entry point for `tigrbl-atoms`. It answers install, usage, API, ownership, and certification-orientation questions for this package. Broader architectural decisions, release status, and cross-package proof chains remain in the repository-level docs and SSOT registry.
357
403
 
358
- - canonical repository: `https://github.com/tigrbl/tigrbl`
359
- - organization: `https://github.com/tigrbl`
360
- - social: `https://discord.gg/K4YTAPapjR`
361
- - package path: `https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_atoms`
362
- - workspace path: `pkgs/core/tigrbl_atoms`
363
- - workspace class: core Python package
364
- - implementation layout: `tigrbl_atoms/`
404
+ ## License
365
405
 
366
- Long-form repository documentation is governed from `docs/`.
406
+ Licensed under the Apache License, Version 2.0. See `LICENSE`, `NOTICE`, and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
367
407
 
@@ -0,0 +1,159 @@
1
+ <div align="center">
2
+ <h1>tigrbl-atoms</h1>
3
+ <img src="https://raw.githubusercontent.com/swarmauri/swarmauri-sdk/master/assets/tigrbl_full_logo.png" alt="Tigrbl logo" width="140"/>
4
+ <p><strong>Runtime atom package for Tigrbl stages, phases, typed contexts, event anchors, protocol execution, and composable pipeline algebra.</strong></p>
5
+ <a href="https://pypi.org/project/tigrbl-atoms/"><img src="https://img.shields.io/pypi/v/tigrbl-atoms?label=PyPI" alt="PyPI version for tigrbl-atoms"/></a>
6
+ <a href="https://pypi.org/project/tigrbl-atoms/"><img src="https://static.pepy.tech/badge/tigrbl-atoms" alt="Downloads for tigrbl-atoms"/></a>
7
+ <a href="https://discord.gg/K4YTAPapjR"><img src="https://img.shields.io/badge/Discord-Join%20chat-5865F2?logo=discord&logoColor=white" alt="Discord community for tigrbl-atoms"/></a>
8
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_atoms/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl_atoms/README.md.svg?label=hits" alt="Repository hits for tigrbl-atoms README"/></a>
9
+ <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
10
+ <a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12%20%7C%203.13%20%7C%203.14-3776ab" alt="Python versions 3.10 | 3.11 | 3.12 | 3.13 | 3.14 for tigrbl-atoms"/></a>
11
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/docs/README.md"><img src="https://img.shields.io/badge/workspace-core-1f6feb" alt="Workspace group for tigrbl-atoms"/></a>
12
+ </div>
13
+
14
+ ## What is tigrbl-atoms?
15
+
16
+ Runtime atom package for Tigrbl stages, phases, typed contexts, event anchors, protocol execution, and composable pipeline algebra.
17
+
18
+ ## Why use tigrbl-atoms?
19
+
20
+ Use it when you need this foundational Tigrbl layer directly as a small, focused dependency.
21
+
22
+ ## When should I install tigrbl-atoms?
23
+
24
+ Install it for extension packages, package-local tests, or internals that need this boundary without the whole facade.
25
+
26
+ ## Who is tigrbl-atoms for?
27
+
28
+ Framework maintainers, extension authors, and advanced users composing Tigrbl from split packages.
29
+
30
+ ## Where does tigrbl-atoms fit?
31
+
32
+ `tigrbl-atoms` lives at `pkgs/core/tigrbl_atoms` and serves a focused layer in the split Tigrbl framework.
33
+
34
+ ## How does tigrbl-atoms work?
35
+
36
+ It owns a narrow layer in the split workspace and is consumed by higher-level packages through explicit dependencies.
37
+
38
+ ## Certification Status
39
+
40
+ - Package status: governed package in the `tigrbl/tigrbl` workspace.
41
+ - Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
42
+ - Release evidence: [publish workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml) validates package builds, tests, GitHub release assets, and PyPI publication for managed packages.
43
+ - Local certification guard: `pkgs/core/tigrbl_tests/tests/unit/test_package_badges_and_notices.py` verifies every package README keeps the Discord badge, Apache 2.0 badge, explicit Python-version badge, `LICENSE`, and `NOTICE`.
44
+ - Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
45
+
46
+ ## Install
47
+
48
+ ```bash
49
+ uv add tigrbl-atoms
50
+ ```
51
+
52
+ ```bash
53
+ pip install tigrbl-atoms
54
+ ```
55
+
56
+ ## Surface Coverage
57
+
58
+ | Surface | Value |
59
+ |---|---|
60
+ | PyPI package | [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/) |
61
+ | Repository path | [`pkgs/core/tigrbl_atoms`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_atoms) |
62
+ | Python import root | `tigrbl_atoms` |
63
+ | Console scripts | none declared |
64
+ | Entry points | none declared |
65
+ | Optional extras | none declared |
66
+ | Legal files | `LICENSE`, `NOTICE` |
67
+ | Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
68
+
69
+ ## What It Owns
70
+
71
+ `tigrbl-atoms` owns the `foundational framework package` boundary. It should be installed when you need this package's focused responsibility without assuming every other Tigrbl workspace package is present.
72
+
73
+ Implementation orientation:
74
+ - `tigrbl_atoms`: _ctx, _opview_helpers, _request, algebra, atoms/, events, fallback, phases, protocol_runtime, runtime_callbacks, runtime_channel, runtime_transactions
75
+
76
+ ## Public API and Import Surface
77
+
78
+ - Import roots: `tigrbl_atoms`.
79
+ - Public symbols: `EGRESS_PHASES`, `EdgeTarget`, `ErrorCtx`, `HANDLER_PHASES`, `HookPhase`, `HookPhases`, `HookPredicate`, `INGRESS_PHASES`, `PHASE_SEQUENCE`, `PhaseTreeEdge`, `PhaseTreeNode`, `StepFn`.
80
+ - Workspace dependencies: [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/), [`tigrbl-ops-olap`](https://pypi.org/project/tigrbl-ops-olap/), [`tigrbl-ops-realtime`](https://pypi.org/project/tigrbl-ops-realtime/), [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/).
81
+ - External runtime dependencies: `jinja2>=3.1`, `sqlalchemy>=2.0`, `typing-extensions>=4.0`.
82
+
83
+ ## Usage Examples
84
+
85
+ ### Verify the installed package
86
+
87
+ ```bash
88
+ python -m pip show tigrbl-atoms
89
+ python - <<'PY'
90
+ from importlib.metadata import version
91
+ print(version("tigrbl-atoms"))
92
+ PY
93
+ ```
94
+
95
+ ### Import the package boundary
96
+
97
+ ```python
98
+ import importlib
99
+
100
+ module = importlib.import_module("tigrbl_atoms")
101
+ print(module.__name__)
102
+ ```
103
+
104
+ ### Import a public symbol
105
+
106
+ ```python
107
+ from tigrbl_atoms import EGRESS_PHASES
108
+
109
+ print(EGRESS_PHASES)
110
+ ```
111
+
112
+ ### Use with the facade when building applications
113
+
114
+ ```bash
115
+ uv add tigrbl tigrbl-atoms
116
+ python - <<'PY'
117
+ import tigrbl
118
+ print(tigrbl.__name__)
119
+ PY
120
+ ```
121
+
122
+ ## How To Choose This Package
123
+
124
+ Choose `tigrbl-atoms` when the quick-answer table matches your use case. Choose [`tigrbl`](https://pypi.org/project/tigrbl/) instead when you want the full public facade. Choose a lower-level package such as [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), or [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/) when you are building framework extensions or testing a specific internal boundary.
125
+
126
+ ## Related Packages
127
+
128
+ - [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/)
129
+ - [`tigrbl-ops-olap`](https://pypi.org/project/tigrbl-ops-olap/)
130
+ - [`tigrbl-ops-realtime`](https://pypi.org/project/tigrbl-ops-realtime/)
131
+ - [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
132
+ - [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/)
133
+ - [`tigrbl`](https://pypi.org/project/tigrbl/)
134
+ - [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
135
+ - [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
136
+
137
+ ## Documentation Links
138
+
139
+ - [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
140
+ - [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
141
+ - [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
142
+ - [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
143
+ - [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
144
+ - [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
145
+ - [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
146
+
147
+ ## Support
148
+
149
+ - Community: [Discord](https://discord.gg/K4YTAPapjR).
150
+ - Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
151
+ - Repository: [pkgs/core/tigrbl_atoms](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl_atoms).
152
+
153
+ ## Package-local Boundary
154
+
155
+ This README is the package-local distribution entry point for `tigrbl-atoms`. It answers install, usage, API, ownership, and certification-orientation questions for this package. Broader architectural decisions, release status, and cross-package proof chains remain in the repository-level docs and SSOT registry.
156
+
157
+ ## License
158
+
159
+ Licensed under the Apache License, Version 2.0. See `LICENSE`, `NOTICE`, and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
@@ -1,30 +1,36 @@
1
1
  [project]
2
2
  name = "tigrbl-atoms"
3
- version = "0.4.1.dev6"
4
- description = "Runtime atom utilities for Tigrbl planning, dispatch, transport ingress, egress, and high-throughput ASGI execution pipelines."
3
+ version = "0.4.2.dev4"
4
+ description = "Runtime atom package for Tigrbl stages, phases, typed contexts, event anchors, protocol execution, and composable pipeline algebra."
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
7
7
  keywords = [
8
8
  "tigrbl",
9
9
  "asgi",
10
10
  "api",
11
+ "atom algebra",
12
+ "atom pipeline",
13
+ "event anchors",
11
14
  "json-rpc",
12
- "rest",
13
- "sqlalchemy",
14
- "pydantic",
15
15
  "atoms",
16
- "runtime",
17
16
  "execution",
18
- "pipeline",
17
+ "phases",
19
18
  "openapi",
20
19
  "openrpc",
20
+ "protocol runtime",
21
+ "rest",
22
+ "runtime",
21
23
  "schema-first",
24
+ "stages",
25
+ "typed context",
22
26
  ]
23
27
  classifiers = [
24
28
  "Development Status :: 3 - Alpha",
29
+ "Environment :: Web Environment",
25
30
  "Intended Audience :: Developers",
26
31
  "Intended Audience :: Information Technology",
27
32
  "Framework :: AsyncIO",
33
+ "License :: OSI Approved :: Apache Software License",
28
34
  "Operating System :: OS Independent",
29
35
  "Programming Language :: Python",
30
36
  "Programming Language :: Python :: 3",
@@ -35,8 +41,11 @@ classifiers = [
35
41
  "Programming Language :: Python :: 3.13",
36
42
  "Programming Language :: Python :: 3.14",
37
43
  "Topic :: Internet :: WWW/HTTP",
44
+ "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
45
+ "Topic :: Software Development :: Code Generators",
38
46
  "Topic :: Software Development :: Libraries :: Application Frameworks",
39
47
  "Topic :: Software Development :: Libraries :: Python Modules",
48
+ "Typing :: Typed",
40
49
  ]
41
50
  requires-python = ">=3.10,<3.15"
42
51
  authors = [{ name = "Jacob Stewart", email = "jacob@swarmauri.com" }]