tigrbl 0.3.17.dev17__tar.gz → 0.3.28.dev1__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 (118) hide show
  1. tigrbl-0.3.28.dev1/PKG-INFO +68 -0
  2. tigrbl-0.3.28.dev1/README.md +23 -0
  3. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/pyproject.toml +10 -3
  4. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/__init__.py +57 -4
  5. tigrbl-0.3.28.dev1/tigrbl/__main__.py +5 -0
  6. tigrbl-0.3.28.dev1/tigrbl/cli.py +863 -0
  7. tigrbl-0.3.28.dev1/tigrbl/factories/app.py +4 -0
  8. {tigrbl-0.3.17.dev17/tigrbl/shortcuts → tigrbl-0.3.28.dev1/tigrbl/factories}/responses.py +13 -2
  9. tigrbl-0.3.28.dev1/tigrbl/middlewares/__init__.py +11 -0
  10. tigrbl-0.3.28.dev1/tigrbl/orm/__init__.py +32 -0
  11. tigrbl-0.3.28.dev1/tigrbl/shortcuts/__init__.py +32 -0
  12. tigrbl-0.3.28.dev1/tigrbl/shortcuts/app.py +2 -0
  13. tigrbl-0.3.28.dev1/tigrbl/shortcuts/column.py +2 -0
  14. tigrbl-0.3.28.dev1/tigrbl/shortcuts/engine.py +2 -0
  15. tigrbl-0.3.28.dev1/tigrbl/shortcuts/hook.py +2 -0
  16. tigrbl-0.3.28.dev1/tigrbl/shortcuts/op.py +2 -0
  17. tigrbl-0.3.28.dev1/tigrbl/shortcuts/responses.py +2 -0
  18. tigrbl-0.3.28.dev1/tigrbl/shortcuts/rest.py +2 -0
  19. tigrbl-0.3.28.dev1/tigrbl/shortcuts/router.py +2 -0
  20. tigrbl-0.3.28.dev1/tigrbl/shortcuts/schema.py +2 -0
  21. tigrbl-0.3.28.dev1/tigrbl/shortcuts/table.py +2 -0
  22. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/specs.py +3 -2
  23. tigrbl-0.3.28.dev1/tigrbl/system/diagnostics/router.py +4 -0
  24. tigrbl-0.3.28.dev1/tigrbl/system/docs/openapi/mount.py +4 -0
  25. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/docs/openapi/schema.py +28 -1
  26. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/docs/openrpc.py +17 -0
  27. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/types/__init__.py +3 -2
  28. tigrbl-0.3.17.dev17/PKG-INFO +0 -784
  29. tigrbl-0.3.17.dev17/README.md +0 -742
  30. tigrbl-0.3.17.dev17/tigrbl/README.md +0 -94
  31. tigrbl-0.3.17.dev17/tigrbl/decorators/router.py +0 -1
  32. tigrbl-0.3.17.dev17/tigrbl/docs/column_specs.md +0 -62
  33. tigrbl-0.3.17.dev17/tigrbl/docs/session.md +0 -11
  34. tigrbl-0.3.17.dev17/tigrbl/docs/verbosity.md +0 -35
  35. tigrbl-0.3.17.dev17/tigrbl/engine/docs/PLUGINS.md +0 -49
  36. tigrbl-0.3.17.dev17/tigrbl/middlewares/__init__.py +0 -0
  37. tigrbl-0.3.17.dev17/tigrbl/shortcuts/app.py +0 -3
  38. tigrbl-0.3.17.dev17/tigrbl/system/diagnostics/router.py +0 -208
  39. tigrbl-0.3.17.dev17/tigrbl/system/docs/openapi/mount.py +0 -85
  40. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/LICENSE +0 -0
  41. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/config/__init__.py +0 -0
  42. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/config/constants.py +0 -0
  43. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/config/defaults.py +0 -0
  44. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/ddl/__init__.py +0 -0
  45. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/decorators/__init__.py +0 -0
  46. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/decorators/allow_anon.py +0 -0
  47. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/decorators/engine.py +0 -0
  48. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/decorators/hook.py +0 -0
  49. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/decorators/middlewares.py +0 -0
  50. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/decorators/op.py +0 -0
  51. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/decorators/response.py +0 -0
  52. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/decorators/rest.py +0 -0
  53. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/decorators/schema.py +0 -0
  54. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/decorators/session.py +0 -0
  55. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/engine/__init__.py +0 -0
  56. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/engine/bind.py +0 -0
  57. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/engine/builders.py +0 -0
  58. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/engine/capabilities.py +0 -0
  59. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/engine/collect.py +0 -0
  60. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/engine/plugins.py +0 -0
  61. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/engine/registry.py +0 -0
  62. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/engine/resolver.py +0 -0
  63. {tigrbl-0.3.17.dev17/tigrbl/shortcuts → tigrbl-0.3.28.dev1/tigrbl/factories}/__init__.py +0 -0
  64. {tigrbl-0.3.17.dev17/tigrbl/shortcuts → tigrbl-0.3.28.dev1/tigrbl/factories}/column.py +0 -0
  65. {tigrbl-0.3.17.dev17/tigrbl/shortcuts → tigrbl-0.3.28.dev1/tigrbl/factories}/engine.py +0 -0
  66. {tigrbl-0.3.17.dev17/tigrbl/shortcuts → tigrbl-0.3.28.dev1/tigrbl/factories}/hook.py +0 -0
  67. {tigrbl-0.3.17.dev17/tigrbl/shortcuts → tigrbl-0.3.28.dev1/tigrbl/factories}/op.py +0 -0
  68. {tigrbl-0.3.17.dev17/tigrbl/shortcuts → tigrbl-0.3.28.dev1/tigrbl/factories}/router.py +0 -0
  69. {tigrbl-0.3.17.dev17/tigrbl/shortcuts → tigrbl-0.3.28.dev1/tigrbl/factories}/schema.py +0 -0
  70. {tigrbl-0.3.17.dev17/tigrbl/shortcuts → tigrbl-0.3.28.dev1/tigrbl/factories}/table.py +0 -0
  71. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/hook/exceptions.py +0 -0
  72. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/hook/types.py +0 -0
  73. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/middlewares/compose.py +0 -0
  74. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/op/__init__.py +0 -0
  75. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/op/canonical.py +0 -0
  76. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/op/collect.py +0 -0
  77. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/op/types.py +0 -0
  78. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/requests.py +0 -0
  79. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/rest/__init__.py +0 -0
  80. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/schema/__init__.py +0 -0
  81. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/schema/builder/__init__.py +0 -0
  82. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/schema/builder/build_schema.py +0 -0
  83. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/schema/builder/cache.py +0 -0
  84. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/schema/builder/extras.py +0 -0
  85. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/schema/builder/helpers.py +0 -0
  86. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/schema/builder/list_params.py +0 -0
  87. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/schema/builder/strip_parent_fields.py +0 -0
  88. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/schema/utils.py +0 -0
  89. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/security/__init__.py +0 -0
  90. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/security/dependencies.py +0 -0
  91. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/__init__.py +0 -0
  92. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/diagnostics/__init__.py +0 -0
  93. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/diagnostics/healthz.py +0 -0
  94. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/diagnostics/hookz.py +0 -0
  95. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/diagnostics/kernelz.py +0 -0
  96. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/diagnostics/methodz.py +0 -0
  97. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/diagnostics/utils.py +0 -0
  98. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/docs/__init__.py +0 -0
  99. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/docs/lens.py +0 -0
  100. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/docs/openapi/__init__.py +0 -0
  101. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/docs/openapi/helpers.py +0 -0
  102. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/docs/openapi/metadata.py +0 -0
  103. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/docs/swagger.py +0 -0
  104. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/favicon/__init__.py +0 -0
  105. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/favicon/assets/favicon.svg +0 -0
  106. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/system/uvicorn.py +0 -0
  107. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/transport/__init__.py +0 -0
  108. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/transport/jsonrpc/__init__.py +0 -0
  109. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/transport/jsonrpc/helpers.py +0 -0
  110. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/transport/jsonrpc/models.py +0 -0
  111. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/transport/rest/__init__.py +0 -0
  112. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/transport/rest/aggregator.py +0 -0
  113. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/utils/__init__.py +0 -0
  114. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/utils/schema.py +0 -0
  115. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/vendor/__init__.py +0 -0
  116. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/vendor/jinja.py +0 -0
  117. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/vendor/pydantic.py +0 -0
  118. {tigrbl-0.3.17.dev17 → tigrbl-0.3.28.dev1}/tigrbl/vendor/sqlalchemy.py +0 -0
@@ -0,0 +1,68 @@
1
+ Metadata-Version: 2.4
2
+ Name: tigrbl
3
+ Version: 0.3.28.dev1
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
+ License-Expression: Apache-2.0
6
+ License-File: LICENSE
7
+ Author: Jacob Stewart
8
+ Author-email: jacob@swarmauri.com
9
+ Requires-Python: >=3.10,<3.14
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Programming Language :: Python :: 3.10
12
+ Classifier: Programming Language :: Python :: 3.11
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Programming Language :: Python
16
+ Classifier: Programming Language :: Python :: 3
17
+ Classifier: Programming Language :: Python :: 3 :: Only
18
+ Provides-Extra: postgres
19
+ Provides-Extra: servers
20
+ Provides-Extra: templates
21
+ Provides-Extra: tests
22
+ Requires-Dist: aiosqlite (>=0.19.0)
23
+ Requires-Dist: asyncpg (>=0.30.0) ; extra == "postgres"
24
+ Requires-Dist: greenlet (>=3.2.3)
25
+ Requires-Dist: gunicorn (>=21.2.0) ; extra == "servers"
26
+ Requires-Dist: httpx (>=0.27.0)
27
+ Requires-Dist: hypercorn (>=0.16.0) ; extra == "servers"
28
+ Requires-Dist: jinja2 (>=3.1.4) ; extra == "templates"
29
+ Requires-Dist: psycopg2-binary (>=2.9.9) ; extra == "postgres"
30
+ Requires-Dist: pydantic (>=2.0.0)
31
+ Requires-Dist: sqlalchemy (>=2.0)
32
+ Requires-Dist: tigrbl-atoms
33
+ Requires-Dist: tigrbl-base
34
+ Requires-Dist: tigrbl-canon
35
+ Requires-Dist: tigrbl-concrete
36
+ Requires-Dist: tigrbl-core
37
+ Requires-Dist: tigrbl-kernel
38
+ Requires-Dist: tigrbl-ops-oltp
39
+ Requires-Dist: tigrbl-orm
40
+ Requires-Dist: tigrbl-runtime
41
+ Requires-Dist: tigrbl-tests ; extra == "tests"
42
+ Requires-Dist: uvicorn
43
+ Description-Content-Type: text/markdown
44
+
45
+ # tigrbl
46
+
47
+ This file is a package-local distribution entry point.
48
+ It is not the authoritative location for repository governance, current target status, current state reporting, certification claims, or release evidence.
49
+
50
+ ## Canonical repository docs
51
+
52
+ - `README.md`
53
+ - `docs/README.md`
54
+ - `docs/conformance/CURRENT_TARGET.md`
55
+ - `docs/conformance/CURRENT_STATE.md`
56
+ - `docs/conformance/NEXT_STEPS.md`
57
+ - `docs/governance/DOC_POINTERS.md`
58
+ - `docs/developer/PACKAGE_CATALOG.md`
59
+ - `docs/developer/PACKAGE_LAYOUT.md`
60
+
61
+ ## Package identity
62
+
63
+ - workspace path: `pkgs/core/tigrbl`
64
+ - workspace class: core Python package
65
+ - implementation layout: `tigrbl/`
66
+
67
+ Long-form repository documentation is governed from `docs/`.
68
+
@@ -0,0 +1,23 @@
1
+ # tigrbl
2
+
3
+ This file is a package-local distribution entry point.
4
+ It is not the authoritative location for repository governance, current target status, current state reporting, certification claims, or release evidence.
5
+
6
+ ## Canonical repository docs
7
+
8
+ - `README.md`
9
+ - `docs/README.md`
10
+ - `docs/conformance/CURRENT_TARGET.md`
11
+ - `docs/conformance/CURRENT_STATE.md`
12
+ - `docs/conformance/NEXT_STEPS.md`
13
+ - `docs/governance/DOC_POINTERS.md`
14
+ - `docs/developer/PACKAGE_CATALOG.md`
15
+ - `docs/developer/PACKAGE_LAYOUT.md`
16
+
17
+ ## Package identity
18
+
19
+ - workspace path: `pkgs/core/tigrbl`
20
+ - workspace class: core Python package
21
+ - implementation layout: `tigrbl/`
22
+
23
+ Long-form repository documentation is governed from `docs/`.
@@ -1,17 +1,17 @@
1
1
  [project]
2
2
  name = "tigrbl"
3
- version = "0.3.17.dev17"
3
+ version = "0.3.28.dev1"
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"
7
7
  repository = "http://github.com/swarmauri/swarmauri-sdk"
8
- requires-python = ">=3.10,<3.13"
8
+ requires-python = ">=3.10,<3.14"
9
9
  classifiers = [
10
- "License :: OSI Approved :: Apache Software License",
11
10
  "Development Status :: 3 - Alpha",
12
11
  "Programming Language :: Python :: 3.10",
13
12
  "Programming Language :: Python :: 3.11",
14
13
  "Programming Language :: Python :: 3.12",
14
+ "Programming Language :: Python :: 3.13",
15
15
  "Programming Language :: Python",
16
16
  "Programming Language :: Python :: 3",
17
17
  "Programming Language :: Python :: 3 :: Only",
@@ -36,6 +36,9 @@ dependencies = [
36
36
  ]
37
37
 
38
38
 
39
+ [project.scripts]
40
+ tigrbl = "tigrbl.cli:console_main"
41
+
39
42
  [project.optional-dependencies]
40
43
  postgres = [
41
44
  "asyncpg>=0.30.0",
@@ -44,6 +47,10 @@ postgres = [
44
47
  templates = [
45
48
  "jinja2>=3.1.4",
46
49
  ]
50
+ servers = [
51
+ "hypercorn>=0.16.0",
52
+ "gunicorn>=21.2.0",
53
+ ]
47
54
  tests = [
48
55
  "tigrbl-tests",
49
56
  ]
@@ -16,7 +16,6 @@ _ALIAS_MODULES = {
16
16
  "_base": "tigrbl_base._base",
17
17
  "_concrete": "tigrbl_concrete._concrete",
18
18
  "core": "tigrbl_ops_oltp",
19
- "orm": "tigrbl_orm.orm",
20
19
  "runtime": "tigrbl_runtime.runtime",
21
20
  "executors": "tigrbl_runtime.executors",
22
21
  "atoms": "tigrbl_atoms.atoms",
@@ -83,11 +82,16 @@ from tigrbl_concrete._concrete import ( # noqa: E402
83
82
  Alias,
84
83
  App,
85
84
  BackgroundTask,
85
+ Binding,
86
+ BindingRegistry,
86
87
  Column,
88
+ CORSMiddleware,
89
+ EventStreamResponse,
87
90
  FileResponse,
88
91
  ForeignKey,
89
92
  Hook,
90
93
  HTMLResponse,
94
+ HTTPBasic,
91
95
  HTTPBearer,
92
96
  JSONResponse,
93
97
  MutualTLS,
@@ -97,11 +101,14 @@ from tigrbl_concrete._concrete import ( # noqa: E402
97
101
  PlainTextResponse,
98
102
  RedirectResponse,
99
103
  Request,
104
+ UploadedFile,
105
+ WebSocket,
100
106
  Response,
101
107
  Route,
102
108
  Router,
103
109
  Schema,
104
110
  StorageTransform,
111
+ Middleware,
105
112
  StreamingResponse,
106
113
  Table,
107
114
  TableRegistry,
@@ -117,17 +124,25 @@ from tigrbl.decorators import ( # noqa: E402
117
124
  alias,
118
125
  allow_anon,
119
126
  alias_ctx,
127
+ delete,
120
128
  engine_ctx,
129
+ get,
121
130
  hook_ctx,
122
131
  middleware,
123
132
  middlewares,
124
133
  op_alias,
125
134
  op_ctx,
135
+ patch,
136
+ post,
137
+ put,
126
138
  response_ctx,
127
- route_ctx,
128
139
  schema_ctx,
140
+ sse_ctx,
141
+ stream_ctx,
142
+ websocket_ctx,
143
+ webtransport_ctx,
129
144
  )
130
- from tigrbl.shortcuts.op import op # noqa: E402
145
+ from tigrbl.factories.op import op # noqa: E402
131
146
  from tigrbl.schema import _build_list_params, _build_schema, get_schema # noqa: E402
132
147
  from tigrbl.ddl import bootstrap_dbschema, ensure_schemas, register_sqlite_attach # noqa: E402
133
148
 
@@ -142,11 +157,18 @@ from tigrbl_base._base import ( # noqa: E402
142
157
  from tigrbl_core._spec import ( # noqa: E402
143
158
  AppSpec,
144
159
  Arity,
160
+ BindingRegistrySpec,
161
+ BindingSpec,
145
162
  ColumnSpec,
146
163
  EngineSpec,
164
+ Exchange,
147
165
  FieldSpec,
166
+ Framing,
148
167
  ForeignKeySpec,
149
168
  HookPhase,
169
+ HttpJsonRpcBindingSpec,
170
+ HttpRestBindingSpec,
171
+ HttpStreamBindingSpec,
150
172
  IOSpec,
151
173
  OpSpec,
152
174
  PersistPolicy,
@@ -155,6 +177,7 @@ from tigrbl_core._spec import ( # noqa: E402
155
177
  RequestSpec,
156
178
  ResponseSpec,
157
179
  RouterSpec,
180
+ SseBindingSpec,
158
181
  SchemaArg,
159
182
  SchemaRef,
160
183
  SchemaSpec,
@@ -165,6 +188,9 @@ from tigrbl_core._spec import ( # noqa: E402
165
188
  TableSpec,
166
189
  TargetOp,
167
190
  TemplateSpec,
191
+ TxScope,
192
+ WebTransportBindingSpec,
193
+ WsBindingSpec,
168
194
  )
169
195
  from tigrbl_runtime.runtime.executor import _invoke # noqa: E402
170
196
 
@@ -239,12 +265,15 @@ __all__ = [
239
265
  "TigrblApp",
240
266
  "TigrblRouter",
241
267
  "Router",
268
+ "Binding",
269
+ "BindingRegistry",
242
270
  "Depends",
243
271
  "HTTPException",
244
272
  "TableBase",
245
273
  "RouterBase",
246
274
  "Op",
247
275
  "op",
276
+ "HTTPBasic",
248
277
  "HTTPBearer",
249
278
  "APIKey",
250
279
  "OAuth2",
@@ -254,14 +283,27 @@ __all__ = [
254
283
  "TargetOp",
255
284
  "Arity",
256
285
  "PersistPolicy",
286
+ "TxScope",
257
287
  "PHASE",
258
288
  "PHASES",
259
289
  "HookPhase",
290
+ "Exchange",
291
+ "Framing",
292
+ "HttpJsonRpcBindingSpec",
293
+ "HttpRestBindingSpec",
260
294
  "SchemaRef",
261
295
  "SchemaArg",
262
296
  "alias_ctx",
297
+ "get",
263
298
  "op_ctx",
264
- "route_ctx",
299
+ "post",
300
+ "put",
301
+ "patch",
302
+ "delete",
303
+ "websocket_ctx",
304
+ "sse_ctx",
305
+ "stream_ctx",
306
+ "webtransport_ctx",
265
307
  "hook_ctx",
266
308
  "schema_ctx",
267
309
  "response_ctx",
@@ -271,6 +313,10 @@ __all__ = [
271
313
  "op_alias",
272
314
  "engine_ctx",
273
315
  "ResponseSpec",
316
+ "HttpStreamBindingSpec",
317
+ "SseBindingSpec",
318
+ "WebTransportBindingSpec",
319
+ "WsBindingSpec",
274
320
  "bind",
275
321
  "rebind",
276
322
  "build_schemas",
@@ -290,11 +336,15 @@ __all__ = [
290
336
  "bootstrap_dbschema",
291
337
  "DEFAULT_HTTP_METHODS",
292
338
  "Request",
339
+ "UploadedFile",
340
+ "WebSocket",
293
341
  "Response",
294
342
  "JSONResponse",
295
343
  "BackgroundTask",
296
344
  "resolver",
297
345
  "AppSpec",
346
+ "BindingSpec",
347
+ "BindingRegistrySpec",
298
348
  "RouterSpec",
299
349
  "TableSpec",
300
350
  "TableRegistrySpec",
@@ -303,6 +353,7 @@ __all__ = [
303
353
  "IOSpec",
304
354
  "StorageSpec",
305
355
  "StorageTransform",
356
+ "Middleware",
306
357
  "StorageTransformSpec",
307
358
  "ForeignKeySpec",
308
359
  "RequestSpec",
@@ -317,6 +368,7 @@ __all__ = [
317
368
  "App",
318
369
  "Table",
319
370
  "Column",
371
+ "CORSMiddleware",
320
372
  "Route",
321
373
  "Schema",
322
374
  "Hook",
@@ -325,6 +377,7 @@ __all__ = [
325
377
  "HOOK_DECLS_ATTR",
326
378
  "middleware",
327
379
  "middlewares",
380
+ "EventStreamResponse",
328
381
  "FileResponse",
329
382
  "HTMLResponse",
330
383
  "PlainTextResponse",
@@ -0,0 +1,5 @@
1
+ from .cli import console_main
2
+
3
+
4
+ if __name__ == "__main__":
5
+ console_main()