tigrbl 0.3.17.dev18__tar.gz → 0.3.29.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.29.dev1/PKG-INFO +68 -0
  2. tigrbl-0.3.29.dev1/README.md +23 -0
  3. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/pyproject.toml +10 -3
  4. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/__init__.py +57 -3
  5. tigrbl-0.3.29.dev1/tigrbl/__main__.py +5 -0
  6. tigrbl-0.3.29.dev1/tigrbl/cli.py +863 -0
  7. tigrbl-0.3.29.dev1/tigrbl/factories/app.py +4 -0
  8. {tigrbl-0.3.17.dev18/tigrbl/shortcuts → tigrbl-0.3.29.dev1/tigrbl/factories}/responses.py +13 -2
  9. tigrbl-0.3.29.dev1/tigrbl/middlewares/__init__.py +11 -0
  10. tigrbl-0.3.29.dev1/tigrbl/shortcuts/__init__.py +32 -0
  11. tigrbl-0.3.29.dev1/tigrbl/shortcuts/app.py +2 -0
  12. tigrbl-0.3.29.dev1/tigrbl/shortcuts/column.py +2 -0
  13. tigrbl-0.3.29.dev1/tigrbl/shortcuts/engine.py +2 -0
  14. tigrbl-0.3.29.dev1/tigrbl/shortcuts/hook.py +2 -0
  15. tigrbl-0.3.29.dev1/tigrbl/shortcuts/op.py +2 -0
  16. tigrbl-0.3.29.dev1/tigrbl/shortcuts/responses.py +2 -0
  17. tigrbl-0.3.29.dev1/tigrbl/shortcuts/rest.py +2 -0
  18. tigrbl-0.3.29.dev1/tigrbl/shortcuts/router.py +2 -0
  19. tigrbl-0.3.29.dev1/tigrbl/shortcuts/schema.py +2 -0
  20. tigrbl-0.3.29.dev1/tigrbl/shortcuts/table.py +2 -0
  21. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/specs.py +3 -2
  22. tigrbl-0.3.29.dev1/tigrbl/system/diagnostics/router.py +4 -0
  23. tigrbl-0.3.29.dev1/tigrbl/system/docs/openapi/mount.py +4 -0
  24. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/docs/openapi/schema.py +28 -1
  25. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/docs/openrpc.py +17 -0
  26. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/types/__init__.py +3 -2
  27. tigrbl-0.3.17.dev18/PKG-INFO +0 -784
  28. tigrbl-0.3.17.dev18/README.md +0 -742
  29. tigrbl-0.3.17.dev18/tigrbl/README.md +0 -94
  30. tigrbl-0.3.17.dev18/tigrbl/decorators/router.py +0 -1
  31. tigrbl-0.3.17.dev18/tigrbl/docs/column_specs.md +0 -62
  32. tigrbl-0.3.17.dev18/tigrbl/docs/session.md +0 -11
  33. tigrbl-0.3.17.dev18/tigrbl/docs/verbosity.md +0 -35
  34. tigrbl-0.3.17.dev18/tigrbl/engine/docs/PLUGINS.md +0 -49
  35. tigrbl-0.3.17.dev18/tigrbl/middlewares/__init__.py +0 -0
  36. tigrbl-0.3.17.dev18/tigrbl/shortcuts/app.py +0 -3
  37. tigrbl-0.3.17.dev18/tigrbl/system/diagnostics/router.py +0 -208
  38. tigrbl-0.3.17.dev18/tigrbl/system/docs/openapi/mount.py +0 -85
  39. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/LICENSE +0 -0
  40. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/config/__init__.py +0 -0
  41. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/config/constants.py +0 -0
  42. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/config/defaults.py +0 -0
  43. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/ddl/__init__.py +0 -0
  44. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/decorators/__init__.py +0 -0
  45. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/decorators/allow_anon.py +0 -0
  46. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/decorators/engine.py +0 -0
  47. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/decorators/hook.py +0 -0
  48. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/decorators/middlewares.py +0 -0
  49. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/decorators/op.py +0 -0
  50. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/decorators/response.py +0 -0
  51. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/decorators/rest.py +0 -0
  52. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/decorators/schema.py +0 -0
  53. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/decorators/session.py +0 -0
  54. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/engine/__init__.py +0 -0
  55. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/engine/bind.py +0 -0
  56. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/engine/builders.py +0 -0
  57. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/engine/capabilities.py +0 -0
  58. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/engine/collect.py +0 -0
  59. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/engine/plugins.py +0 -0
  60. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/engine/registry.py +0 -0
  61. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/engine/resolver.py +0 -0
  62. {tigrbl-0.3.17.dev18/tigrbl/shortcuts → tigrbl-0.3.29.dev1/tigrbl/factories}/__init__.py +0 -0
  63. {tigrbl-0.3.17.dev18/tigrbl/shortcuts → tigrbl-0.3.29.dev1/tigrbl/factories}/column.py +0 -0
  64. {tigrbl-0.3.17.dev18/tigrbl/shortcuts → tigrbl-0.3.29.dev1/tigrbl/factories}/engine.py +0 -0
  65. {tigrbl-0.3.17.dev18/tigrbl/shortcuts → tigrbl-0.3.29.dev1/tigrbl/factories}/hook.py +0 -0
  66. {tigrbl-0.3.17.dev18/tigrbl/shortcuts → tigrbl-0.3.29.dev1/tigrbl/factories}/op.py +0 -0
  67. {tigrbl-0.3.17.dev18/tigrbl/shortcuts → tigrbl-0.3.29.dev1/tigrbl/factories}/router.py +0 -0
  68. {tigrbl-0.3.17.dev18/tigrbl/shortcuts → tigrbl-0.3.29.dev1/tigrbl/factories}/schema.py +0 -0
  69. {tigrbl-0.3.17.dev18/tigrbl/shortcuts → tigrbl-0.3.29.dev1/tigrbl/factories}/table.py +0 -0
  70. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/hook/exceptions.py +0 -0
  71. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/hook/types.py +0 -0
  72. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/middlewares/compose.py +0 -0
  73. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/op/__init__.py +0 -0
  74. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/op/canonical.py +0 -0
  75. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/op/collect.py +0 -0
  76. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/op/types.py +0 -0
  77. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/orm/__init__.py +0 -0
  78. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/requests.py +0 -0
  79. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/rest/__init__.py +0 -0
  80. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/schema/__init__.py +0 -0
  81. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/schema/builder/__init__.py +0 -0
  82. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/schema/builder/build_schema.py +0 -0
  83. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/schema/builder/cache.py +0 -0
  84. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/schema/builder/extras.py +0 -0
  85. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/schema/builder/helpers.py +0 -0
  86. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/schema/builder/list_params.py +0 -0
  87. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/schema/builder/strip_parent_fields.py +0 -0
  88. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/schema/utils.py +0 -0
  89. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/security/__init__.py +0 -0
  90. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/security/dependencies.py +0 -0
  91. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/__init__.py +0 -0
  92. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/diagnostics/__init__.py +0 -0
  93. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/diagnostics/healthz.py +0 -0
  94. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/diagnostics/hookz.py +0 -0
  95. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/diagnostics/kernelz.py +0 -0
  96. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/diagnostics/methodz.py +0 -0
  97. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/diagnostics/utils.py +0 -0
  98. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/docs/__init__.py +0 -0
  99. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/docs/lens.py +0 -0
  100. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/docs/openapi/__init__.py +0 -0
  101. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/docs/openapi/helpers.py +0 -0
  102. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/docs/openapi/metadata.py +0 -0
  103. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/docs/swagger.py +0 -0
  104. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/favicon/__init__.py +0 -0
  105. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/favicon/assets/favicon.svg +0 -0
  106. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/system/uvicorn.py +0 -0
  107. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/transport/__init__.py +0 -0
  108. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/transport/jsonrpc/__init__.py +0 -0
  109. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/transport/jsonrpc/helpers.py +0 -0
  110. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/transport/jsonrpc/models.py +0 -0
  111. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/transport/rest/__init__.py +0 -0
  112. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/transport/rest/aggregator.py +0 -0
  113. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/utils/__init__.py +0 -0
  114. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/utils/schema.py +0 -0
  115. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/vendor/__init__.py +0 -0
  116. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/vendor/jinja.py +0 -0
  117. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/vendor/pydantic.py +0 -0
  118. {tigrbl-0.3.17.dev18 → tigrbl-0.3.29.dev1}/tigrbl/vendor/sqlalchemy.py +0 -0
@@ -0,0 +1,68 @@
1
+ Metadata-Version: 2.4
2
+ Name: tigrbl
3
+ Version: 0.3.29.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.dev18"
3
+ version = "0.3.29.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
  ]
@@ -82,11 +82,16 @@ from tigrbl_concrete._concrete import ( # noqa: E402
82
82
  Alias,
83
83
  App,
84
84
  BackgroundTask,
85
+ Binding,
86
+ BindingRegistry,
85
87
  Column,
88
+ CORSMiddleware,
89
+ EventStreamResponse,
86
90
  FileResponse,
87
91
  ForeignKey,
88
92
  Hook,
89
93
  HTMLResponse,
94
+ HTTPBasic,
90
95
  HTTPBearer,
91
96
  JSONResponse,
92
97
  MutualTLS,
@@ -96,11 +101,14 @@ from tigrbl_concrete._concrete import ( # noqa: E402
96
101
  PlainTextResponse,
97
102
  RedirectResponse,
98
103
  Request,
104
+ UploadedFile,
105
+ WebSocket,
99
106
  Response,
100
107
  Route,
101
108
  Router,
102
109
  Schema,
103
110
  StorageTransform,
111
+ Middleware,
104
112
  StreamingResponse,
105
113
  Table,
106
114
  TableRegistry,
@@ -116,17 +124,25 @@ from tigrbl.decorators import ( # noqa: E402
116
124
  alias,
117
125
  allow_anon,
118
126
  alias_ctx,
127
+ delete,
119
128
  engine_ctx,
129
+ get,
120
130
  hook_ctx,
121
131
  middleware,
122
132
  middlewares,
123
133
  op_alias,
124
134
  op_ctx,
135
+ patch,
136
+ post,
137
+ put,
125
138
  response_ctx,
126
- route_ctx,
127
139
  schema_ctx,
140
+ sse_ctx,
141
+ stream_ctx,
142
+ websocket_ctx,
143
+ webtransport_ctx,
128
144
  )
129
- from tigrbl.shortcuts.op import op # noqa: E402
145
+ from tigrbl.factories.op import op # noqa: E402
130
146
  from tigrbl.schema import _build_list_params, _build_schema, get_schema # noqa: E402
131
147
  from tigrbl.ddl import bootstrap_dbschema, ensure_schemas, register_sqlite_attach # noqa: E402
132
148
 
@@ -141,11 +157,18 @@ from tigrbl_base._base import ( # noqa: E402
141
157
  from tigrbl_core._spec import ( # noqa: E402
142
158
  AppSpec,
143
159
  Arity,
160
+ BindingRegistrySpec,
161
+ BindingSpec,
144
162
  ColumnSpec,
145
163
  EngineSpec,
164
+ Exchange,
146
165
  FieldSpec,
166
+ Framing,
147
167
  ForeignKeySpec,
148
168
  HookPhase,
169
+ HttpJsonRpcBindingSpec,
170
+ HttpRestBindingSpec,
171
+ HttpStreamBindingSpec,
149
172
  IOSpec,
150
173
  OpSpec,
151
174
  PersistPolicy,
@@ -154,6 +177,7 @@ from tigrbl_core._spec import ( # noqa: E402
154
177
  RequestSpec,
155
178
  ResponseSpec,
156
179
  RouterSpec,
180
+ SseBindingSpec,
157
181
  SchemaArg,
158
182
  SchemaRef,
159
183
  SchemaSpec,
@@ -164,6 +188,9 @@ from tigrbl_core._spec import ( # noqa: E402
164
188
  TableSpec,
165
189
  TargetOp,
166
190
  TemplateSpec,
191
+ TxScope,
192
+ WebTransportBindingSpec,
193
+ WsBindingSpec,
167
194
  )
168
195
  from tigrbl_runtime.runtime.executor import _invoke # noqa: E402
169
196
 
@@ -238,12 +265,15 @@ __all__ = [
238
265
  "TigrblApp",
239
266
  "TigrblRouter",
240
267
  "Router",
268
+ "Binding",
269
+ "BindingRegistry",
241
270
  "Depends",
242
271
  "HTTPException",
243
272
  "TableBase",
244
273
  "RouterBase",
245
274
  "Op",
246
275
  "op",
276
+ "HTTPBasic",
247
277
  "HTTPBearer",
248
278
  "APIKey",
249
279
  "OAuth2",
@@ -253,14 +283,27 @@ __all__ = [
253
283
  "TargetOp",
254
284
  "Arity",
255
285
  "PersistPolicy",
286
+ "TxScope",
256
287
  "PHASE",
257
288
  "PHASES",
258
289
  "HookPhase",
290
+ "Exchange",
291
+ "Framing",
292
+ "HttpJsonRpcBindingSpec",
293
+ "HttpRestBindingSpec",
259
294
  "SchemaRef",
260
295
  "SchemaArg",
261
296
  "alias_ctx",
297
+ "get",
262
298
  "op_ctx",
263
- "route_ctx",
299
+ "post",
300
+ "put",
301
+ "patch",
302
+ "delete",
303
+ "websocket_ctx",
304
+ "sse_ctx",
305
+ "stream_ctx",
306
+ "webtransport_ctx",
264
307
  "hook_ctx",
265
308
  "schema_ctx",
266
309
  "response_ctx",
@@ -270,6 +313,10 @@ __all__ = [
270
313
  "op_alias",
271
314
  "engine_ctx",
272
315
  "ResponseSpec",
316
+ "HttpStreamBindingSpec",
317
+ "SseBindingSpec",
318
+ "WebTransportBindingSpec",
319
+ "WsBindingSpec",
273
320
  "bind",
274
321
  "rebind",
275
322
  "build_schemas",
@@ -289,11 +336,15 @@ __all__ = [
289
336
  "bootstrap_dbschema",
290
337
  "DEFAULT_HTTP_METHODS",
291
338
  "Request",
339
+ "UploadedFile",
340
+ "WebSocket",
292
341
  "Response",
293
342
  "JSONResponse",
294
343
  "BackgroundTask",
295
344
  "resolver",
296
345
  "AppSpec",
346
+ "BindingSpec",
347
+ "BindingRegistrySpec",
297
348
  "RouterSpec",
298
349
  "TableSpec",
299
350
  "TableRegistrySpec",
@@ -302,6 +353,7 @@ __all__ = [
302
353
  "IOSpec",
303
354
  "StorageSpec",
304
355
  "StorageTransform",
356
+ "Middleware",
305
357
  "StorageTransformSpec",
306
358
  "ForeignKeySpec",
307
359
  "RequestSpec",
@@ -316,6 +368,7 @@ __all__ = [
316
368
  "App",
317
369
  "Table",
318
370
  "Column",
371
+ "CORSMiddleware",
319
372
  "Route",
320
373
  "Schema",
321
374
  "Hook",
@@ -324,6 +377,7 @@ __all__ = [
324
377
  "HOOK_DECLS_ATTR",
325
378
  "middleware",
326
379
  "middlewares",
380
+ "EventStreamResponse",
327
381
  "FileResponse",
328
382
  "HTMLResponse",
329
383
  "PlainTextResponse",
@@ -0,0 +1,5 @@
1
+ from .cli import console_main
2
+
3
+
4
+ if __name__ == "__main__":
5
+ console_main()