tigrbl 0.3.17.dev12__tar.gz → 0.3.17.dev15__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 (154) hide show
  1. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/PKG-INFO +18 -1
  2. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/README.md +12 -0
  3. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/pyproject.toml +13 -3
  4. tigrbl-0.3.17.dev15/tigrbl/__init__.py +333 -0
  5. tigrbl-0.3.17.dev15/tigrbl/config/__init__.py +3 -0
  6. tigrbl-0.3.17.dev15/tigrbl/config/constants.py +3 -0
  7. tigrbl-0.3.17.dev15/tigrbl/config/defaults.py +3 -0
  8. tigrbl-0.3.17.dev15/tigrbl/ddl/__init__.py +3 -0
  9. tigrbl-0.3.17.dev15/tigrbl/decorators/__init__.py +1 -0
  10. tigrbl-0.3.17.dev15/tigrbl/decorators/allow_anon.py +1 -0
  11. tigrbl-0.3.17.dev15/tigrbl/decorators/engine.py +1 -0
  12. tigrbl-0.3.17.dev15/tigrbl/decorators/hook.py +1 -0
  13. tigrbl-0.3.17.dev15/tigrbl/decorators/middlewares.py +1 -0
  14. tigrbl-0.3.17.dev15/tigrbl/decorators/op.py +1 -0
  15. tigrbl-0.3.17.dev15/tigrbl/decorators/response.py +1 -0
  16. tigrbl-0.3.17.dev15/tigrbl/decorators/rest.py +1 -0
  17. tigrbl-0.3.17.dev15/tigrbl/decorators/router.py +1 -0
  18. tigrbl-0.3.17.dev15/tigrbl/decorators/schema.py +1 -0
  19. tigrbl-0.3.17.dev15/tigrbl/decorators/session.py +1 -0
  20. tigrbl-0.3.17.dev15/tigrbl/engine/__init__.py +1 -0
  21. tigrbl-0.3.17.dev15/tigrbl/engine/bind.py +1 -0
  22. tigrbl-0.3.17.dev15/tigrbl/engine/builders.py +1 -0
  23. tigrbl-0.3.17.dev15/tigrbl/engine/capabilities.py +1 -0
  24. tigrbl-0.3.17.dev15/tigrbl/engine/collect.py +1 -0
  25. tigrbl-0.3.17.dev15/tigrbl/engine/plugins.py +1 -0
  26. tigrbl-0.3.17.dev15/tigrbl/engine/registry.py +1 -0
  27. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/engine/resolver.py +2 -2
  28. tigrbl-0.3.17.dev15/tigrbl/hook/types.py +10 -0
  29. tigrbl-0.3.17.dev15/tigrbl/op/__init__.py +22 -0
  30. tigrbl-0.3.17.dev15/tigrbl/op/canonical.py +3 -0
  31. tigrbl-0.3.17.dev15/tigrbl/op/collect.py +3 -0
  32. tigrbl-0.3.17.dev15/tigrbl/op/types.py +3 -0
  33. tigrbl-0.3.17.dev15/tigrbl/schema/__init__.py +3 -0
  34. tigrbl-0.3.17.dev15/tigrbl/schema/builder/__init__.py +3 -0
  35. tigrbl-0.3.17.dev15/tigrbl/schema/builder/build_schema.py +3 -0
  36. tigrbl-0.3.17.dev15/tigrbl/schema/builder/cache.py +3 -0
  37. tigrbl-0.3.17.dev15/tigrbl/schema/builder/extras.py +3 -0
  38. tigrbl-0.3.17.dev15/tigrbl/schema/builder/helpers.py +3 -0
  39. tigrbl-0.3.17.dev15/tigrbl/schema/builder/list_params.py +3 -0
  40. tigrbl-0.3.17.dev15/tigrbl/schema/builder/strip_parent_fields.py +3 -0
  41. tigrbl-0.3.17.dev15/tigrbl/schema/utils.py +9 -0
  42. tigrbl-0.3.17.dev15/tigrbl/security/__init__.py +3 -0
  43. tigrbl-0.3.17.dev15/tigrbl/security/dependencies.py +3 -0
  44. tigrbl-0.3.17.dev15/tigrbl/shortcuts/app.py +3 -0
  45. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/shortcuts/engine.py +19 -17
  46. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/shortcuts/hook.py +1 -1
  47. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/shortcuts/router.py +1 -1
  48. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/shortcuts/schema.py +1 -1
  49. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/specs.py +11 -3
  50. tigrbl-0.3.17.dev15/tigrbl/system/__init__.py +3 -0
  51. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/diagnostics/healthz.py +6 -0
  52. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/diagnostics/hookz.py +4 -4
  53. tigrbl-0.3.17.dev15/tigrbl/system/diagnostics/kernelz.py +57 -0
  54. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/diagnostics/router.py +2 -2
  55. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/diagnostics/utils.py +9 -1
  56. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/docs/openapi/helpers.py +1 -1
  57. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/docs/openapi/mount.py +1 -1
  58. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/docs/openapi/schema.py +7 -9
  59. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/docs/openrpc.py +15 -12
  60. tigrbl-0.3.17.dev15/tigrbl/transport/__init__.py +1 -0
  61. tigrbl-0.3.17.dev15/tigrbl/transport/jsonrpc/__init__.py +1 -0
  62. tigrbl-0.3.17.dev15/tigrbl/transport/jsonrpc/helpers.py +1 -0
  63. tigrbl-0.3.17.dev15/tigrbl/transport/jsonrpc/models.py +1 -0
  64. tigrbl-0.3.17.dev15/tigrbl/transport/rest/__init__.py +1 -0
  65. tigrbl-0.3.17.dev15/tigrbl/transport/rest/aggregator.py +1 -0
  66. tigrbl-0.3.17.dev15/tigrbl/types/__init__.py +35 -0
  67. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/utils/schema.py +1 -1
  68. tigrbl-0.3.17.dev12/tigrbl/__init__.py +0 -222
  69. tigrbl-0.3.17.dev12/tigrbl/column/README.md +0 -62
  70. tigrbl-0.3.17.dev12/tigrbl/column/__init__.py +0 -23
  71. tigrbl-0.3.17.dev12/tigrbl/column/infer/__init__.py +0 -25
  72. tigrbl-0.3.17.dev12/tigrbl/column/infer/core.py +0 -92
  73. tigrbl-0.3.17.dev12/tigrbl/column/infer/jsonhints.py +0 -44
  74. tigrbl-0.3.17.dev12/tigrbl/column/infer/planning.py +0 -133
  75. tigrbl-0.3.17.dev12/tigrbl/column/infer/types.py +0 -102
  76. tigrbl-0.3.17.dev12/tigrbl/column/infer/utils.py +0 -59
  77. tigrbl-0.3.17.dev12/tigrbl/config/__init__.py +0 -19
  78. tigrbl-0.3.17.dev12/tigrbl/config/constants.py +0 -224
  79. tigrbl-0.3.17.dev12/tigrbl/config/defaults.py +0 -32
  80. tigrbl-0.3.17.dev12/tigrbl/ddl/__init__.py +0 -411
  81. tigrbl-0.3.17.dev12/tigrbl/decorators/__init__.py +0 -48
  82. tigrbl-0.3.17.dev12/tigrbl/decorators/engine.py +0 -110
  83. tigrbl-0.3.17.dev12/tigrbl/decorators/hook.py +0 -35
  84. tigrbl-0.3.17.dev12/tigrbl/decorators/middlewares.py +0 -32
  85. tigrbl-0.3.17.dev12/tigrbl/decorators/op.py +0 -254
  86. tigrbl-0.3.17.dev12/tigrbl/decorators/response.py +0 -45
  87. tigrbl-0.3.17.dev12/tigrbl/decorators/rest.py +0 -30
  88. tigrbl-0.3.17.dev12/tigrbl/decorators/router.py +0 -115
  89. tigrbl-0.3.17.dev12/tigrbl/decorators/schema.py +0 -67
  90. tigrbl-0.3.17.dev12/tigrbl/decorators/session.py +0 -43
  91. tigrbl-0.3.17.dev12/tigrbl/engine/__init__.py +0 -108
  92. tigrbl-0.3.17.dev12/tigrbl/engine/bind.py +0 -53
  93. tigrbl-0.3.17.dev12/tigrbl/engine/builders.py +0 -244
  94. tigrbl-0.3.17.dev12/tigrbl/engine/capabilities.py +0 -29
  95. tigrbl-0.3.17.dev12/tigrbl/engine/collect.py +0 -10
  96. tigrbl-0.3.17.dev12/tigrbl/engine/plugins.py +0 -52
  97. tigrbl-0.3.17.dev12/tigrbl/engine/registry.py +0 -36
  98. tigrbl-0.3.17.dev12/tigrbl/hook/types.py +0 -60
  99. tigrbl-0.3.17.dev12/tigrbl/op/__init__.py +0 -39
  100. tigrbl-0.3.17.dev12/tigrbl/op/canonical.py +0 -33
  101. tigrbl-0.3.17.dev12/tigrbl/op/collect.py +0 -20
  102. tigrbl-0.3.17.dev12/tigrbl/op/types.py +0 -55
  103. tigrbl-0.3.17.dev12/tigrbl/schema/__init__.py +0 -27
  104. tigrbl-0.3.17.dev12/tigrbl/schema/builder/__init__.py +0 -17
  105. tigrbl-0.3.17.dev12/tigrbl/schema/builder/build_schema.py +0 -308
  106. tigrbl-0.3.17.dev12/tigrbl/schema/builder/cache.py +0 -24
  107. tigrbl-0.3.17.dev12/tigrbl/schema/builder/extras.py +0 -85
  108. tigrbl-0.3.17.dev12/tigrbl/schema/builder/helpers.py +0 -87
  109. tigrbl-0.3.17.dev12/tigrbl/schema/builder/list_params.py +0 -117
  110. tigrbl-0.3.17.dev12/tigrbl/schema/builder/strip_parent_fields.py +0 -70
  111. tigrbl-0.3.17.dev12/tigrbl/schema/types.py +0 -34
  112. tigrbl-0.3.17.dev12/tigrbl/schema/utils.py +0 -142
  113. tigrbl-0.3.17.dev12/tigrbl/security/__init__.py +0 -5
  114. tigrbl-0.3.17.dev12/tigrbl/security/dependencies.py +0 -5
  115. tigrbl-0.3.17.dev12/tigrbl/shortcuts/app.py +0 -65
  116. tigrbl-0.3.17.dev12/tigrbl/system/__init__.py +0 -98
  117. tigrbl-0.3.17.dev12/tigrbl/system/diagnostics/kernelz.py +0 -20
  118. tigrbl-0.3.17.dev12/tigrbl/transport/__init__.py +0 -3
  119. tigrbl-0.3.17.dev12/tigrbl/transport/jsonrpc/__init__.py +0 -0
  120. tigrbl-0.3.17.dev12/tigrbl/transport/jsonrpc/helpers.py +0 -55
  121. tigrbl-0.3.17.dev12/tigrbl/transport/jsonrpc/models.py +0 -41
  122. tigrbl-0.3.17.dev12/tigrbl/transport/rest/__init__.py +0 -30
  123. tigrbl-0.3.17.dev12/tigrbl/transport/rest/aggregator.py +0 -118
  124. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/LICENSE +0 -0
  125. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/README.md +0 -0
  126. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/docs/column_specs.md +0 -0
  127. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/docs/session.md +0 -0
  128. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/docs/verbosity.md +0 -0
  129. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/engine/docs/PLUGINS.md +0 -0
  130. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/hook/exceptions.py +0 -0
  131. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/middlewares/__init__.py +0 -0
  132. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/middlewares/compose.py +0 -0
  133. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/requests.py +0 -0
  134. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/rest/__init__.py +0 -0
  135. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/shortcuts/__init__.py +0 -0
  136. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/shortcuts/column.py +0 -0
  137. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/shortcuts/op.py +0 -0
  138. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/shortcuts/responses.py +0 -0
  139. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/shortcuts/table.py +0 -0
  140. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/diagnostics/__init__.py +0 -0
  141. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/diagnostics/methodz.py +0 -0
  142. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/docs/__init__.py +0 -0
  143. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/docs/lens.py +0 -0
  144. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/docs/openapi/__init__.py +0 -0
  145. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/docs/openapi/metadata.py +0 -0
  146. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/docs/swagger.py +0 -0
  147. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/favicon/__init__.py +0 -0
  148. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/favicon/assets/favicon.svg +0 -0
  149. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/system/uvicorn.py +0 -0
  150. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/utils/__init__.py +0 -0
  151. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/vendor/__init__.py +0 -0
  152. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/vendor/jinja.py +0 -0
  153. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/vendor/pydantic.py +0 -0
  154. {tigrbl-0.3.17.dev12 → tigrbl-0.3.17.dev15}/tigrbl/vendor/sqlalchemy.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tigrbl
3
- Version: 0.3.17.dev12
3
+ Version: 0.3.17.dev15
4
4
  Summary: A modern pure ASGI/WSGI Python framework for building schema-first REST and JSON-RPC APIs with SQLAlchemy models, typed validation, lifecycle hooks, and engine extension support.
5
5
  License-Expression: Apache-2.0
6
6
  License-File: LICENSE
@@ -26,8 +26,13 @@ Requires-Dist: jinja2 (>=3.1.4) ; extra == "templates"
26
26
  Requires-Dist: psycopg2-binary (>=2.9.9) ; extra == "postgres"
27
27
  Requires-Dist: pydantic (>=2.0.0)
28
28
  Requires-Dist: sqlalchemy (>=2.0)
29
+ Requires-Dist: tigrbl-atoms
30
+ Requires-Dist: tigrbl-base
29
31
  Requires-Dist: tigrbl-canon
30
32
  Requires-Dist: tigrbl-concrete
33
+ Requires-Dist: tigrbl-core
34
+ Requires-Dist: tigrbl-kernel
35
+ Requires-Dist: tigrbl-ops-oltp
31
36
  Requires-Dist: tigrbl-orm
32
37
  Requires-Dist: tigrbl-runtime
33
38
  Requires-Dist: tigrbl-tests ; extra == "tests"
@@ -62,6 +67,18 @@ A high-leverage ASGI meta-framework that turns plain SQLAlchemy models into a fu
62
67
  - 🧩 Pluggable engine and provider abstractions
63
68
  - 🚀 Built as an ASGI-native framework with Pydantic-powered schema generation
64
69
 
70
+ ## Split Package Module Locations 🗂️
71
+
72
+ These surfaces are now maintained in the split Tigrbl packages (with `tigrbl.*`
73
+ kept as compatibility imports):
74
+
75
+ - `tigrbl.ddl` → `tigrbl_concrete.ddl`
76
+ - `tigrbl.system` → `tigrbl_concrete.system`
77
+ - `tigrbl.op` → `tigrbl_core.op`
78
+ - `tigrbl.config` → `tigrbl_core.config`
79
+ - `tigrbl.schema` → `tigrbl_core.schema`
80
+ - `tigrbl.security` → `tigrbl_concrete.security`
81
+
65
82
  ## Runtime-owned Routing Contract
66
83
 
67
84
  For the kernel-first flow that avoids pre-runtime REST/RPC dispatching, see
@@ -26,6 +26,18 @@ A high-leverage ASGI meta-framework that turns plain SQLAlchemy models into a fu
26
26
  - 🧩 Pluggable engine and provider abstractions
27
27
  - 🚀 Built as an ASGI-native framework with Pydantic-powered schema generation
28
28
 
29
+ ## Split Package Module Locations 🗂️
30
+
31
+ These surfaces are now maintained in the split Tigrbl packages (with `tigrbl.*`
32
+ kept as compatibility imports):
33
+
34
+ - `tigrbl.ddl` → `tigrbl_concrete.ddl`
35
+ - `tigrbl.system` → `tigrbl_concrete.system`
36
+ - `tigrbl.op` → `tigrbl_core.op`
37
+ - `tigrbl.config` → `tigrbl_core.config`
38
+ - `tigrbl.schema` → `tigrbl_core.schema`
39
+ - `tigrbl.security` → `tigrbl_concrete.security`
40
+
29
41
  ## Runtime-owned Routing Contract
30
42
 
31
43
  For the kernel-first flow that avoids pre-runtime REST/RPC dispatching, see
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "tigrbl"
3
- version = "0.3.17.dev12"
3
+ version = "0.3.17.dev15"
4
4
  description = "A modern pure ASGI/WSGI Python framework for building schema-first REST and JSON-RPC APIs with SQLAlchemy models, typed validation, lifecycle hooks, and engine extension support."
5
5
  license = "Apache-2.0"
6
6
  readme = "README.md"
@@ -18,10 +18,15 @@ classifiers = [
18
18
  ]
19
19
  authors = [{ name = "Jacob Stewart", email = "jacob@swarmauri.com" }]
20
20
  dependencies = [
21
+ "tigrbl-core",
22
+ "tigrbl-base",
21
23
  "tigrbl-concrete",
22
24
  "tigrbl-canon",
23
- "tigrbl-runtime",
24
25
  "tigrbl-orm",
26
+ "tigrbl-runtime",
27
+ "tigrbl-atoms",
28
+ "tigrbl-kernel",
29
+ "tigrbl-ops-oltp",
25
30
  "pydantic>=2.0.0",
26
31
  "sqlalchemy>=2.0",
27
32
  "aiosqlite>=0.19.0",
@@ -44,10 +49,15 @@ tests = [
44
49
  ]
45
50
 
46
51
  [tool.uv.sources]
52
+ "tigrbl-core" = { workspace = true }
53
+ "tigrbl-base" = { workspace = true }
47
54
  "tigrbl-concrete" = { workspace = true }
48
55
  "tigrbl-canon" = { workspace = true }
49
- "tigrbl-runtime" = { workspace = true }
50
56
  "tigrbl-orm" = { workspace = true }
57
+ "tigrbl-runtime" = { workspace = true }
58
+ "tigrbl-atoms" = { workspace = true }
59
+ "tigrbl-kernel" = { workspace = true }
60
+ "tigrbl-ops-oltp" = { workspace = true }
51
61
  tigrbl-tests = { workspace = true }
52
62
  tigrbl_client = { workspace = true }
53
63
 
@@ -0,0 +1,333 @@
1
+ """Tigrbl public API facade over split core packages."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from importlib import import_module
6
+ from pkgutil import extend_path
7
+ import sys
8
+
9
+ __path__ = extend_path(__path__, __name__)
10
+
11
+
12
+ # Compatibility aliases so legacy ``tigrbl.<segment>`` imports resolve to
13
+ # the new split packages.
14
+ _ALIAS_MODULES = {
15
+ "_spec": "tigrbl_core._spec",
16
+ "_base": "tigrbl_base._base",
17
+ "_concrete": "tigrbl_concrete._concrete",
18
+ "core": "tigrbl_ops_oltp",
19
+ "orm": "tigrbl_orm.orm",
20
+ "runtime": "tigrbl_runtime.runtime",
21
+ "executors": "tigrbl_runtime.executors",
22
+ "atoms": "tigrbl_atoms.atoms",
23
+ }
24
+
25
+
26
+ def _optional_import(path: str):
27
+ try:
28
+ return import_module(path)
29
+ except ImportError:
30
+ return None
31
+
32
+
33
+ def _install_alias(alias: str, target: str) -> None:
34
+ module = _optional_import(target)
35
+ if module is None:
36
+ return
37
+
38
+ alias_name = f"{__name__}.{alias}"
39
+ sys.modules.setdefault(alias_name, module)
40
+
41
+ target_prefix = f"{target}."
42
+ alias_prefix = f"{alias_name}."
43
+ for name, loaded in tuple(sys.modules.items()):
44
+ if name.startswith(target_prefix):
45
+ suffix = name[len(target_prefix) :]
46
+ sys.modules.setdefault(f"{alias_prefix}{suffix}", loaded)
47
+
48
+ module_path = getattr(module, "__path__", None)
49
+ if not module_path:
50
+ return
51
+
52
+ from pkgutil import walk_packages
53
+
54
+ for info in walk_packages(module_path, target_prefix):
55
+ submodule = _optional_import(info.name)
56
+ if submodule is None:
57
+ continue
58
+ suffix = info.name[len(target_prefix) :]
59
+ sys.modules.setdefault(f"{alias_prefix}{suffix}", submodule)
60
+
61
+
62
+ for alias, target in _ALIAS_MODULES.items():
63
+ _install_alias(alias, target)
64
+
65
+
66
+ _spec = import_module("tigrbl_core._spec")
67
+ _base = import_module("tigrbl_base._base")
68
+ _concrete = import_module("tigrbl_concrete._concrete")
69
+ canon = None
70
+ orm = import_module("tigrbl_orm.orm")
71
+ runtime = _optional_import("tigrbl_runtime.runtime")
72
+ atoms = _optional_import("tigrbl_atoms.atoms")
73
+ kernel = None
74
+ core = _optional_import("tigrbl_ops_oltp")
75
+
76
+ # Backward-compatible names requested for top-level facade access.
77
+ specs = _spec
78
+ base = _base
79
+ concrete = _concrete
80
+
81
+ from tigrbl_concrete._concrete import ( # noqa: E402
82
+ APIKey,
83
+ Alias,
84
+ App,
85
+ BackgroundTask,
86
+ Column,
87
+ FileResponse,
88
+ ForeignKey,
89
+ Hook,
90
+ HTMLResponse,
91
+ HTTPBearer,
92
+ JSONResponse,
93
+ MutualTLS,
94
+ OAuth2,
95
+ OpenIdConnect,
96
+ Op,
97
+ PlainTextResponse,
98
+ RedirectResponse,
99
+ Request,
100
+ Response,
101
+ Route,
102
+ Router,
103
+ Schema,
104
+ StorageTransform,
105
+ StreamingResponse,
106
+ Table,
107
+ TableRegistry,
108
+ TigrblApp,
109
+ TigrblRouter,
110
+ )
111
+ from tigrbl_concrete._concrete.dependencies import Depends # noqa: E402
112
+ from tigrbl_runtime.runtime.status.exceptions import HTTPException # noqa: E402
113
+ from tigrbl.engine import resolver # noqa: E402
114
+ from tigrbl.system import mount_diagnostics # noqa: E402
115
+ from tigrbl_core.config.constants import DEFAULT_HTTP_METHODS, HOOK_DECLS_ATTR # noqa: E402
116
+ from tigrbl.decorators import ( # noqa: E402
117
+ alias,
118
+ allow_anon,
119
+ alias_ctx,
120
+ engine_ctx,
121
+ hook_ctx,
122
+ middleware,
123
+ middlewares,
124
+ op_alias,
125
+ op_ctx,
126
+ response_ctx,
127
+ route_ctx,
128
+ schema_ctx,
129
+ )
130
+ from tigrbl.shortcuts.op import op # noqa: E402
131
+ from tigrbl.schema import _build_list_params, _build_schema, get_schema # noqa: E402
132
+ from tigrbl.ddl import bootstrap_dbschema, ensure_schemas, register_sqlite_attach # noqa: E402
133
+
134
+ from tigrbl_base._base import ( # noqa: E402
135
+ AppBase,
136
+ ForeignKeyBase,
137
+ HookBase,
138
+ RouterBase,
139
+ TableBase,
140
+ TableRegistryBase,
141
+ )
142
+ from tigrbl_core._spec import ( # noqa: E402
143
+ AppSpec,
144
+ Arity,
145
+ ColumnSpec,
146
+ EngineSpec,
147
+ FieldSpec,
148
+ ForeignKeySpec,
149
+ HookPhase,
150
+ IOSpec,
151
+ OpSpec,
152
+ PersistPolicy,
153
+ PHASE,
154
+ PHASES,
155
+ RequestSpec,
156
+ ResponseSpec,
157
+ RouterSpec,
158
+ SchemaArg,
159
+ SchemaRef,
160
+ SchemaSpec,
161
+ SessionSpec,
162
+ StorageSpec,
163
+ StorageTransformSpec,
164
+ TableRegistrySpec,
165
+ TableSpec,
166
+ TargetOp,
167
+ TemplateSpec,
168
+ )
169
+ from tigrbl_runtime.runtime.executor import _invoke # noqa: E402
170
+
171
+
172
+ def bind(*args, **kwargs):
173
+ return import_module("tigrbl_concrete._mapping.model").bind(*args, **kwargs)
174
+
175
+
176
+ def rebind(*args, **kwargs):
177
+ return import_module("tigrbl_concrete._mapping.model").rebind(*args, **kwargs)
178
+
179
+
180
+ def build_schemas(*args, **kwargs):
181
+ return import_module("tigrbl_concrete._mapping.model")._materialize_schemas(
182
+ *args, **kwargs
183
+ )
184
+
185
+
186
+ def build_hooks(*args, **kwargs):
187
+ return import_module("tigrbl_concrete._mapping.model")._bind_model_hooks(
188
+ *args, **kwargs
189
+ )
190
+
191
+
192
+ def build_handlers(*args, **kwargs):
193
+ mod = import_module("tigrbl_concrete._mapping.model")
194
+ specs = mod._materialize_handlers(*args, **kwargs)
195
+ model = args[0] if args else kwargs.get("model")
196
+ spec_arg = args[1] if len(args) > 1 else kwargs.get("specs", ())
197
+ spec_tuple = tuple(spec_arg or ())
198
+ if model is not None:
199
+ mod._bind_model_hooks(model, spec_tuple)
200
+ return specs
201
+
202
+
203
+ def register_rpc(*args, **kwargs):
204
+ return import_module("tigrbl_base._base._rpc_map").register_and_attach(
205
+ *args, **kwargs
206
+ )
207
+
208
+
209
+ def build_rest(*args, **kwargs):
210
+ if "router" not in kwargs:
211
+ kwargs["router"] = None
212
+ return import_module("tigrbl_concrete._mapping.model")._materialize_rest_router(
213
+ *args, **kwargs
214
+ )
215
+
216
+
217
+ def include_tables(*args, **kwargs):
218
+ return import_module("tigrbl_concrete._mapping.router.include").include_tables(
219
+ *args, **kwargs
220
+ )
221
+
222
+
223
+ async def rpc_call(*args, **kwargs):
224
+ return await import_module("tigrbl_concrete._mapping.router.rpc").rpc_call(
225
+ *args, **kwargs
226
+ )
227
+
228
+
229
+ __all__ = [
230
+ "specs",
231
+ "base",
232
+ "concrete",
233
+ "canon",
234
+ "orm",
235
+ "runtime",
236
+ "atoms",
237
+ "kernel",
238
+ "core",
239
+ "TigrblApp",
240
+ "TigrblRouter",
241
+ "Router",
242
+ "Depends",
243
+ "HTTPException",
244
+ "TableBase",
245
+ "RouterBase",
246
+ "Op",
247
+ "op",
248
+ "HTTPBearer",
249
+ "APIKey",
250
+ "OAuth2",
251
+ "OpenIdConnect",
252
+ "MutualTLS",
253
+ "OpSpec",
254
+ "TargetOp",
255
+ "Arity",
256
+ "PersistPolicy",
257
+ "PHASE",
258
+ "PHASES",
259
+ "HookPhase",
260
+ "SchemaRef",
261
+ "SchemaArg",
262
+ "alias_ctx",
263
+ "op_ctx",
264
+ "route_ctx",
265
+ "hook_ctx",
266
+ "schema_ctx",
267
+ "response_ctx",
268
+ "alias",
269
+ "allow_anon",
270
+ "Alias",
271
+ "op_alias",
272
+ "engine_ctx",
273
+ "ResponseSpec",
274
+ "bind",
275
+ "rebind",
276
+ "build_schemas",
277
+ "build_hooks",
278
+ "build_handlers",
279
+ "register_rpc",
280
+ "build_rest",
281
+ "include_tables",
282
+ "rpc_call",
283
+ "_invoke",
284
+ "_build_schema",
285
+ "_build_list_params",
286
+ "get_schema",
287
+ "mount_diagnostics",
288
+ "ensure_schemas",
289
+ "register_sqlite_attach",
290
+ "bootstrap_dbschema",
291
+ "DEFAULT_HTTP_METHODS",
292
+ "Request",
293
+ "Response",
294
+ "JSONResponse",
295
+ "BackgroundTask",
296
+ "resolver",
297
+ "AppSpec",
298
+ "RouterSpec",
299
+ "TableSpec",
300
+ "TableRegistrySpec",
301
+ "ColumnSpec",
302
+ "FieldSpec",
303
+ "IOSpec",
304
+ "StorageSpec",
305
+ "StorageTransform",
306
+ "StorageTransformSpec",
307
+ "ForeignKeySpec",
308
+ "RequestSpec",
309
+ "SchemaSpec",
310
+ "SessionSpec",
311
+ "EngineSpec",
312
+ "TemplateSpec",
313
+ "ForeignKeyBase",
314
+ "HookBase",
315
+ "TableRegistryBase",
316
+ "AppBase",
317
+ "App",
318
+ "Table",
319
+ "Column",
320
+ "Route",
321
+ "Schema",
322
+ "Hook",
323
+ "ForeignKey",
324
+ "TableRegistry",
325
+ "HOOK_DECLS_ATTR",
326
+ "middleware",
327
+ "middlewares",
328
+ "FileResponse",
329
+ "HTMLResponse",
330
+ "PlainTextResponse",
331
+ "StreamingResponse",
332
+ "RedirectResponse",
333
+ ]
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated config module."""
2
+
3
+ from tigrbl_core.config import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for constants moved to ``tigrbl_core``."""
2
+
3
+ from tigrbl_core.config.constants import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated config defaults."""
2
+
3
+ from tigrbl_core.config.defaults import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated DDL module."""
2
+
3
+ from tigrbl_concrete.ddl import * # noqa: F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete._decorators import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete._decorators.allow_anon import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete._decorators.engine import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete._decorators.hook import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete._decorators.middlewares import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete._decorators.op import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete._decorators.response import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete._decorators.rest import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete._decorators.router import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete._decorators.schema import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete._decorators.session import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete.engine import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete.engine.bind import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete.engine.builders import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete.engine.capabilities import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete.engine.collect import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete.engine.plugins import * # noqa: F401,F403
@@ -0,0 +1 @@
1
+ from tigrbl_concrete.engine.registry import * # noqa: F401,F403
@@ -1,7 +1,7 @@
1
1
  """Backward-compatible engine resolver exports."""
2
2
 
3
- from ..mapping.engine_resolver import * # noqa: F401,F403
4
- from ..mapping import engine_resolver as _engine_resolver
3
+ from tigrbl_concrete.engine.resolver import * # noqa: F401,F403
4
+ from tigrbl_concrete._concrete import engine_resolver as _engine_resolver
5
5
 
6
6
  _SECRET_KEYS = _engine_resolver._SECRET_KEYS
7
7
  _hash_secret = _engine_resolver._hash_secret
@@ -0,0 +1,10 @@
1
+ """Hook type definitions exposed without importing runtime package internals."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from tigrbl_atoms import HookPhase, HookPhases, HookPredicate, StepFn
6
+
7
+ PHASE = HookPhase
8
+ PHASES = tuple(h.value for h in HookPhases)
9
+
10
+ __all__ = ["HookPhase", "HookPhases", "PHASE", "PHASES", "StepFn", "HookPredicate"]
@@ -0,0 +1,22 @@
1
+ """Compatibility facade for op APIs across split tigrbl packages."""
2
+
3
+ import tigrbl_core.op as _core_op
4
+ from tigrbl_core.op import * # noqa: F403
5
+ from tigrbl_core._spec.op_spec import resolve
6
+ from tigrbl_concrete._concrete._op_registry import (
7
+ OpspecRegistry,
8
+ clear_registry,
9
+ get_registered_ops,
10
+ get_registry,
11
+ register_ops,
12
+ )
13
+
14
+ __all__ = [
15
+ *_core_op.__all__,
16
+ "OpspecRegistry",
17
+ "get_registry",
18
+ "register_ops",
19
+ "get_registered_ops",
20
+ "clear_registry",
21
+ "resolve",
22
+ ]
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated op canonical helpers."""
2
+
3
+ from tigrbl_core.op.canonical import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated op collection helpers."""
2
+
3
+ from tigrbl_core.op.collect import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated op typing aliases."""
2
+
3
+ from tigrbl_core.op.types import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated schema module."""
2
+
3
+ from tigrbl_core.schema import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated schema builder module."""
2
+
3
+ from tigrbl_core.schema.builder import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated schema builder helpers."""
2
+
3
+ from tigrbl_core.schema.builder.build_schema import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated schema builder helpers."""
2
+
3
+ from tigrbl_core.schema.builder.cache import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated schema builder helpers."""
2
+
3
+ from tigrbl_core.schema.builder.extras import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated schema builder helpers."""
2
+
3
+ from tigrbl_core.schema.builder.helpers import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated schema builder helpers."""
2
+
3
+ from tigrbl_core.schema.builder.list_params import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated schema builder helpers."""
2
+
3
+ from tigrbl_core.schema.builder.strip_parent_fields import * # noqa: F403
@@ -0,0 +1,9 @@
1
+ """Compatibility shim for relocated schema utilities."""
2
+
3
+ from tigrbl_core.schema.utils import * # noqa: F403
4
+ from tigrbl_core.schema.utils import logger
5
+
6
+ __all__ = [
7
+ "logger",
8
+ *[name for name in globals() if not name.startswith("_") and name != "__all__"],
9
+ ]
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated security module."""
2
+
3
+ from tigrbl_concrete.security import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ """Compatibility shim for relocated security dependencies."""
2
+
3
+ from tigrbl_concrete.security.dependencies import * # noqa: F403
@@ -0,0 +1,3 @@
1
+ from tigrbl_concrete.shortcuts.app import defineAppSpec, deriveApp
2
+
3
+ __all__ = ["defineAppSpec", "deriveApp"]