tigrbl 0.4.2.dev3__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 (112) hide show
  1. tigrbl-0.4.2.dev4/NOTICE +7 -0
  2. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/PKG-INFO +117 -30
  3. tigrbl-0.4.2.dev4/README.md +170 -0
  4. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/pyproject.toml +1 -1
  5. tigrbl-0.4.2.dev3/README.md +0 -84
  6. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/LICENSE +0 -0
  7. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/__init__.py +0 -0
  8. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/__main__.py +0 -0
  9. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/canonical_json.py +0 -0
  10. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/cli.py +0 -0
  11. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/config/__init__.py +0 -0
  12. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/config/constants.py +0 -0
  13. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/config/defaults.py +0 -0
  14. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/ddl/__init__.py +0 -0
  15. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/__init__.py +0 -0
  16. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/allow_anon.py +0 -0
  17. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/engine.py +0 -0
  18. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/hook.py +0 -0
  19. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/middlewares.py +0 -0
  20. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/op.py +0 -0
  21. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/response.py +0 -0
  22. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/rest.py +0 -0
  23. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/schema.py +0 -0
  24. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/session.py +0 -0
  25. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/__init__.py +0 -0
  26. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/bind.py +0 -0
  27. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/builders.py +0 -0
  28. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/capabilities.py +0 -0
  29. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/collect.py +0 -0
  30. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/plugins.py +0 -0
  31. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/registry.py +0 -0
  32. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/resolver.py +0 -0
  33. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/__init__.py +0 -0
  34. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/app.py +0 -0
  35. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/column.py +0 -0
  36. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/engine.py +0 -0
  37. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/hook.py +0 -0
  38. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/op.py +0 -0
  39. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/responses.py +0 -0
  40. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/router.py +0 -0
  41. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/schema.py +0 -0
  42. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/table.py +0 -0
  43. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/hook/exceptions.py +0 -0
  44. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/hook/types.py +0 -0
  45. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/middlewares/__init__.py +0 -0
  46. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/middlewares/compose.py +0 -0
  47. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/op/__init__.py +0 -0
  48. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/op/canonical.py +0 -0
  49. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/op/collect.py +0 -0
  50. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/op/types.py +0 -0
  51. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/orm/__init__.py +0 -0
  52. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/requests.py +0 -0
  53. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/rest/__init__.py +0 -0
  54. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/__init__.py +0 -0
  55. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/__init__.py +0 -0
  56. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/build_schema.py +0 -0
  57. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/cache.py +0 -0
  58. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/extras.py +0 -0
  59. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/helpers.py +0 -0
  60. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/list_params.py +0 -0
  61. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/strip_parent_fields.py +0 -0
  62. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/utils.py +0 -0
  63. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/security/__init__.py +0 -0
  64. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/security/dependencies.py +0 -0
  65. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/session/__init__.py +0 -0
  66. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/session/base.py +0 -0
  67. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/session/spec.py +0 -0
  68. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/__init__.py +0 -0
  69. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/app.py +0 -0
  70. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/column.py +0 -0
  71. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/engine.py +0 -0
  72. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/hook.py +0 -0
  73. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/op.py +0 -0
  74. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/responses.py +0 -0
  75. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/rest.py +0 -0
  76. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/router.py +0 -0
  77. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/schema.py +0 -0
  78. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/table.py +0 -0
  79. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/specs.py +0 -0
  80. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/__init__.py +0 -0
  81. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/__init__.py +0 -0
  82. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/healthz.py +0 -0
  83. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/hookz.py +0 -0
  84. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/kernelz.py +0 -0
  85. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/methodz.py +0 -0
  86. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/router.py +0 -0
  87. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/utils.py +0 -0
  88. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/__init__.py +0 -0
  89. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/lens.py +0 -0
  90. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openapi/__init__.py +0 -0
  91. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openapi/helpers.py +0 -0
  92. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openapi/metadata.py +0 -0
  93. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openapi/mount.py +0 -0
  94. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openapi/schema.py +0 -0
  95. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openrpc.py +0 -0
  96. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/swagger.py +0 -0
  97. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/favicon/__init__.py +0 -0
  98. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/favicon/assets/favicon.svg +0 -0
  99. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/uvicorn.py +0 -0
  100. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/__init__.py +0 -0
  101. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/jsonrpc/__init__.py +0 -0
  102. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/jsonrpc/helpers.py +0 -0
  103. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/jsonrpc/models.py +0 -0
  104. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/rest/__init__.py +0 -0
  105. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/rest/aggregator.py +0 -0
  106. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/types/__init__.py +0 -0
  107. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/utils/__init__.py +0 -0
  108. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/utils/schema.py +0 -0
  109. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/vendor/__init__.py +0 -0
  110. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/vendor/jinja.py +0 -0
  111. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/vendor/pydantic.py +0 -0
  112. {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/vendor/sqlalchemy.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,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tigrbl
3
- Version: 0.4.2.dev3
3
+ Version: 0.4.2.dev4
4
4
  Summary: Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins.
5
5
  License: Apache License
6
6
  Version 2.0, January 2004
@@ -204,6 +204,7 @@ 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
+ License-File: NOTICE
207
208
  Keywords: tigrbl,asgi,api,api framework,asgi framework,dependency injection,fastapi alternative,json-rpc,framework,openapi,openrpc,pydantic,rest,schema-first,sqlalchemy,typed validation
208
209
  Author: Jacob Stewart
209
210
  Author-email: jacob@swarmauri.com
@@ -267,12 +268,45 @@ Description-Content-Type: text/markdown
267
268
  <p><strong>Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins.</strong></p>
268
269
  <a href="https://pypi.org/project/tigrbl/"><img src="https://img.shields.io/pypi/v/tigrbl?label=PyPI" alt="PyPI version for tigrbl"/></a>
269
270
  <a href="https://pypi.org/project/tigrbl/"><img src="https://static.pepy.tech/badge/tigrbl" alt="Downloads for tigrbl"/></a>
271
+ <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"/></a>
270
272
  <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl/README.md.svg?label=hits" alt="Repository hits for tigrbl README"/></a>
271
273
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
272
- <a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20to%203.15-3776ab" alt="Python requirement for tigrbl"/></a>
274
+ <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"/></a>
273
275
  <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"/></a>
274
276
  </div>
275
277
 
278
+ ## What is tigrbl?
279
+
280
+ Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins.
281
+
282
+ ## Why use tigrbl?
283
+
284
+ Use it when you want the public Tigrbl authoring surface in one install target instead of composing split packages by hand.
285
+
286
+ ## When should I install tigrbl?
287
+
288
+ Install it for application projects, examples, service skeletons, and teams that want REST, JSON-RPC, docs, schemas, engines, and CLI support from one facade.
289
+
290
+ ## Who is tigrbl for?
291
+
292
+ Application developers, platform teams, and service owners building schema-first Python APIs.
293
+
294
+ ## Where does tigrbl fit?
295
+
296
+ `tigrbl` lives at `pkgs/core/tigrbl` and serves schema-first service authoring, REST and JSON-RPC projection, docs, engines, and CLI workflows.
297
+
298
+ ## How does tigrbl work?
299
+
300
+ It re-exports stable author-facing classes and decorators while delegating resident behavior to core, base, runtime, kernel, atoms, ORM, and operation packages.
301
+
302
+ ## Certification Status
303
+
304
+ - Package status: governed package in the `tigrbl/tigrbl` workspace.
305
+ - Governance source: [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json).
306
+ - 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.
307
+ - 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`.
308
+ - Scope note: this README documents the package boundary. Runtime feature support remains governed by `.ssot/` entities and the conformance docs linked below.
309
+
276
310
  ## Install
277
311
 
278
312
  ```bash
@@ -286,35 +320,82 @@ pip install tigrbl
286
320
  Optional extras declared in `pyproject.toml`:
287
321
 
288
322
  ```bash
289
- pip install "tigrbl[postgres, servers, templates, tests]"
323
+ pip install "tigrbl[postgres,servers,templates,tests]"
290
324
  ```
291
325
 
326
+ ## Surface Coverage
327
+
328
+ | Surface | Value |
329
+ |---|---|
330
+ | PyPI package | [`tigrbl`](https://pypi.org/project/tigrbl/) |
331
+ | Repository path | [`pkgs/core/tigrbl`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl) |
332
+ | Python import root | `tigrbl` |
333
+ | Console scripts | `tigrbl` |
334
+ | Entry points | none declared |
335
+ | Optional extras | `postgres`, `servers`, `templates`, `tests` |
336
+ | Legal files | `LICENSE`, `NOTICE` |
337
+ | Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
338
+
292
339
  ## What It Owns
293
340
 
294
- `tigrbl` owns the public facade boundary for the Python workspace, re-exporting the author-facing app, router, ORM, decorator, security, and CLI surfaces while delegating resident behavior to split packages. Key implementation roots include `examples` with `swarmauri_tigrbl_bridge, swarmauri_tigrbl_bridge_smooth`; `tigrbl` with `__main__, canonical_json, cli, config/, ddl/, decorators/`.
341
+ `tigrbl` owns the `public facade package` boundary. It should be installed when you need this package's focused responsibility without assuming every other Tigrbl workspace package is present.
295
342
 
296
- ## Use It When
343
+ Implementation orientation:
344
+ - `tigrbl`: __main__, canonical_json, cli, config/, ddl/, decorators/, engine/, factories/, hook/, middlewares/, op/, orm/
297
345
 
298
- Use `tigrbl` when you want the public Python authoring surface in one install target: app composition, schema-first routing, REST and JSON-RPC projection, docs generation, and CLI workflow.
346
+ ## Public API and Import Surface
299
347
 
300
- ## Public Surface
348
+ - Import roots: `tigrbl`.
349
+ - Public symbols: `APIKey`, `Alias`, `App`, `AppBase`, `AppSpec`, `Arity`, `BINDING_PROFILE_EXCHANGE_SUPPORT`, `BackgroundTask`, `Binding`, `BindingRegistry`, `BindingRegistrySpec`, `BindingSpec`.
350
+ - Workspace dependencies: [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), [`tigrbl-concrete`](https://pypi.org/project/tigrbl-concrete/), [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/), [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/), [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/), [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/), [`tigrbl-kernel`](https://pypi.org/project/tigrbl-kernel/), [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/).
351
+ - External runtime dependencies: `pydantic>=2.0.0`, `sqlalchemy>=2.0`, `aiosqlite>=0.19.0`, `httpx>=0.27.0`, `greenlet>=3.2.3`, `uvicorn`.
301
352
 
302
- - `tigrbl` exposes `import_module, extend_path, APIKey, Alias, App, BackgroundTask, Binding, BindingRegistry`.
303
- - Console scripts: `tigrbl`.
353
+ ## Usage Examples
304
354
 
305
- ## Internal Layout
355
+ ### Verify the installed package
306
356
 
307
- - Workspace path: `pkgs/core/tigrbl`.
308
- - Package class: `facade package`.
309
- - Python requirement: `>=3.10,<3.15`.
310
- - `examples` modules: `swarmauri_tigrbl_bridge, swarmauri_tigrbl_bridge_smooth`.
311
- - `tigrbl` modules: `__main__, canonical_json, cli, config/, ddl/, decorators/, engine/, factories/, hook/, middlewares/`.
357
+ ```bash
358
+ python -m pip show tigrbl
359
+ python - <<'PY'
360
+ from importlib.metadata import version
361
+ print(version("tigrbl"))
362
+ PY
363
+ ```
312
364
 
313
- ## Dependency Surface
365
+ ### Create a small Tigrbl app shell
314
366
 
315
- - Workspace package dependencies: [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), [`tigrbl-concrete`](https://pypi.org/project/tigrbl-concrete/), [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/), [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/), [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/), [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/), [`tigrbl-kernel`](https://pypi.org/project/tigrbl-kernel/), [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/).
316
- - External runtime dependencies: `pydantic>=2.0.0`, `sqlalchemy>=2.0`, `aiosqlite>=0.19.0`, `httpx>=0.27.0`, `greenlet>=3.2.3`, `uvicorn`.
317
- - Optional extras: `rust`, `postgres`, `servers`, `templates`, `tests`.
367
+ ```python
368
+ from tigrbl import TigrblApp, TigrblRouter
369
+
370
+ app = TigrblApp()
371
+ router = TigrblRouter()
372
+ app.include_router(router)
373
+ ```
374
+
375
+ ### Use author-facing decorators
376
+
377
+ ```python
378
+ from tigrbl import get, post
379
+
380
+ @get("/health")
381
+ def health() -> dict[str, str]:
382
+ return {"status": "ok"}
383
+
384
+ @post("/items")
385
+ def create_item(payload: dict) -> dict:
386
+ return payload
387
+ ```
388
+
389
+ ### Run the console entry point
390
+
391
+ ```bash
392
+ tigrbl --help
393
+ python -m tigrbl --help
394
+ ```
395
+
396
+ ## How To Choose This Package
397
+
398
+ Choose `tigrbl` when you want the full public facade: app composition, schema-first routing, REST and JSON-RPC projection, docs generation, engine integration, and CLI workflow. 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/) only when you are building framework extensions or testing a specific internal boundary.
318
399
 
319
400
  ## Related Packages
320
401
 
@@ -326,23 +407,29 @@ Use `tigrbl` when you want the public Python authoring surface in one install ta
326
407
  - [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
327
408
  - [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/)
328
409
  - [`tigrbl-kernel`](https://pypi.org/project/tigrbl-kernel/)
410
+ - [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/)
411
+
412
+ ## Documentation Links
413
+
414
+ - [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
415
+ - [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
416
+ - [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
417
+ - [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
418
+ - [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
419
+ - [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
420
+ - [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
329
421
 
330
- ## Canonical Repository Docs
422
+ ## Support
331
423
 
332
- - `docs/README.md`
333
- - `docs/conformance/CURRENT_TARGET.md`
334
- - `docs/conformance/CURRENT_STATE.md`
335
- - `docs/conformance/NEXT_STEPS.md`
336
- - `docs/governance/DOC_POINTERS.md`
337
- - `docs/developer/PACKAGE_CATALOG.md`
338
- - `docs/developer/PACKAGE_LAYOUT.md`
424
+ - Community: [Discord](https://discord.gg/K4YTAPapjR).
425
+ - Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
426
+ - Repository: [pkgs/core/tigrbl](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl).
339
427
 
340
428
  ## Package-local Boundary
341
429
 
342
- This file is a package-local distribution entry point.
343
- Use this page for package installation and boundary orientation. Repository governance, conformance state, target status, and release evidence remain governed from `docs/` and `.ssot/`.
430
+ This README is the package-local distribution entry point for `tigrbl`. 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.
344
431
 
345
432
  ## License
346
433
 
347
- Licensed under the Apache License, Version 2.0. See `LICENSE` and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
434
+ 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).
348
435
 
@@ -0,0 +1,170 @@
1
+ <div align="center">
2
+ <h1>tigrbl</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>Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins.</strong></p>
5
+ <a href="https://pypi.org/project/tigrbl/"><img src="https://img.shields.io/pypi/v/tigrbl?label=PyPI" alt="PyPI version for tigrbl"/></a>
6
+ <a href="https://pypi.org/project/tigrbl/"><img src="https://static.pepy.tech/badge/tigrbl" alt="Downloads for tigrbl"/></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"/></a>
8
+ <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl/README.md.svg?label=hits" alt="Repository hits for tigrbl 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"/></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"/></a>
12
+ </div>
13
+
14
+ ## What is tigrbl?
15
+
16
+ Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins.
17
+
18
+ ## Why use tigrbl?
19
+
20
+ Use it when you want the public Tigrbl authoring surface in one install target instead of composing split packages by hand.
21
+
22
+ ## When should I install tigrbl?
23
+
24
+ Install it for application projects, examples, service skeletons, and teams that want REST, JSON-RPC, docs, schemas, engines, and CLI support from one facade.
25
+
26
+ ## Who is tigrbl for?
27
+
28
+ Application developers, platform teams, and service owners building schema-first Python APIs.
29
+
30
+ ## Where does tigrbl fit?
31
+
32
+ `tigrbl` lives at `pkgs/core/tigrbl` and serves schema-first service authoring, REST and JSON-RPC projection, docs, engines, and CLI workflows.
33
+
34
+ ## How does tigrbl work?
35
+
36
+ It re-exports stable author-facing classes and decorators while delegating resident behavior to core, base, runtime, kernel, atoms, ORM, and operation packages.
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
50
+ ```
51
+
52
+ ```bash
53
+ pip install tigrbl
54
+ ```
55
+
56
+ Optional extras declared in `pyproject.toml`:
57
+
58
+ ```bash
59
+ pip install "tigrbl[postgres,servers,templates,tests]"
60
+ ```
61
+
62
+ ## Surface Coverage
63
+
64
+ | Surface | Value |
65
+ |---|---|
66
+ | PyPI package | [`tigrbl`](https://pypi.org/project/tigrbl/) |
67
+ | Repository path | [`pkgs/core/tigrbl`](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl) |
68
+ | Python import root | `tigrbl` |
69
+ | Console scripts | `tigrbl` |
70
+ | Entry points | none declared |
71
+ | Optional extras | `postgres`, `servers`, `templates`, `tests` |
72
+ | Legal files | `LICENSE`, `NOTICE` |
73
+ | Supported Python | `3.10 | 3.11 | 3.12 | 3.13 | 3.14` |
74
+
75
+ ## What It Owns
76
+
77
+ `tigrbl` owns the `public facade package` boundary. It should be installed when you need this package's focused responsibility without assuming every other Tigrbl workspace package is present.
78
+
79
+ Implementation orientation:
80
+ - `tigrbl`: __main__, canonical_json, cli, config/, ddl/, decorators/, engine/, factories/, hook/, middlewares/, op/, orm/
81
+
82
+ ## Public API and Import Surface
83
+
84
+ - Import roots: `tigrbl`.
85
+ - Public symbols: `APIKey`, `Alias`, `App`, `AppBase`, `AppSpec`, `Arity`, `BINDING_PROFILE_EXCHANGE_SUPPORT`, `BackgroundTask`, `Binding`, `BindingRegistry`, `BindingRegistrySpec`, `BindingSpec`.
86
+ - Workspace dependencies: [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), [`tigrbl-concrete`](https://pypi.org/project/tigrbl-concrete/), [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/), [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/), [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/), [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/), [`tigrbl-kernel`](https://pypi.org/project/tigrbl-kernel/), [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/).
87
+ - External runtime dependencies: `pydantic>=2.0.0`, `sqlalchemy>=2.0`, `aiosqlite>=0.19.0`, `httpx>=0.27.0`, `greenlet>=3.2.3`, `uvicorn`.
88
+
89
+ ## Usage Examples
90
+
91
+ ### Verify the installed package
92
+
93
+ ```bash
94
+ python -m pip show tigrbl
95
+ python - <<'PY'
96
+ from importlib.metadata import version
97
+ print(version("tigrbl"))
98
+ PY
99
+ ```
100
+
101
+ ### Create a small Tigrbl app shell
102
+
103
+ ```python
104
+ from tigrbl import TigrblApp, TigrblRouter
105
+
106
+ app = TigrblApp()
107
+ router = TigrblRouter()
108
+ app.include_router(router)
109
+ ```
110
+
111
+ ### Use author-facing decorators
112
+
113
+ ```python
114
+ from tigrbl import get, post
115
+
116
+ @get("/health")
117
+ def health() -> dict[str, str]:
118
+ return {"status": "ok"}
119
+
120
+ @post("/items")
121
+ def create_item(payload: dict) -> dict:
122
+ return payload
123
+ ```
124
+
125
+ ### Run the console entry point
126
+
127
+ ```bash
128
+ tigrbl --help
129
+ python -m tigrbl --help
130
+ ```
131
+
132
+ ## How To Choose This Package
133
+
134
+ Choose `tigrbl` when you want the full public facade: app composition, schema-first routing, REST and JSON-RPC projection, docs generation, engine integration, and CLI workflow. 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/) only when you are building framework extensions or testing a specific internal boundary.
135
+
136
+ ## Related Packages
137
+
138
+ - [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
139
+ - [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
140
+ - [`tigrbl-concrete`](https://pypi.org/project/tigrbl-concrete/)
141
+ - [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/)
142
+ - [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/)
143
+ - [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
144
+ - [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/)
145
+ - [`tigrbl-kernel`](https://pypi.org/project/tigrbl-kernel/)
146
+ - [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/)
147
+
148
+ ## Documentation Links
149
+
150
+ - [Workspace docs](https://github.com/tigrbl/tigrbl/blob/master/docs/README.md)
151
+ - [Package catalog](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_CATALOG.md)
152
+ - [Package layout](https://github.com/tigrbl/tigrbl/blob/master/docs/developer/PACKAGE_LAYOUT.md)
153
+ - [Current target](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_TARGET.md)
154
+ - [Current state](https://github.com/tigrbl/tigrbl/blob/master/docs/conformance/CURRENT_STATE.md)
155
+ - [SSOT registry](https://github.com/tigrbl/tigrbl/blob/master/.ssot/registry.json)
156
+ - [Release workflow](https://github.com/tigrbl/tigrbl/actions/workflows/publish.yml)
157
+
158
+ ## Support
159
+
160
+ - Community: [Discord](https://discord.gg/K4YTAPapjR).
161
+ - Issues: [GitHub Issues](https://github.com/tigrbl/tigrbl/issues).
162
+ - Repository: [pkgs/core/tigrbl](https://github.com/tigrbl/tigrbl/tree/master/pkgs/core/tigrbl).
163
+
164
+ ## Package-local Boundary
165
+
166
+ This README is the package-local distribution entry point for `tigrbl`. 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.
167
+
168
+ ## License
169
+
170
+ 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,6 +1,6 @@
1
1
  [project]
2
2
  name = "tigrbl"
3
- version = "0.4.2.dev3"
3
+ version = "0.4.2.dev4"
4
4
  description = "Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins."
5
5
  readme = "README.md"
6
6
  license = { file = "LICENSE" }
@@ -1,84 +0,0 @@
1
- <div align="center">
2
- <h1>tigrbl</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>Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins.</strong></p>
5
- <a href="https://pypi.org/project/tigrbl/"><img src="https://img.shields.io/pypi/v/tigrbl?label=PyPI" alt="PyPI version for tigrbl"/></a>
6
- <a href="https://pypi.org/project/tigrbl/"><img src="https://static.pepy.tech/badge/tigrbl" alt="Downloads for tigrbl"/></a>
7
- <a href="https://github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl/README.md"><img src="https://hits.sh/github.com/tigrbl/tigrbl/blob/master/pkgs/core/tigrbl/README.md.svg?label=hits" alt="Repository hits for tigrbl README"/></a>
8
- <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache%202.0-525252" alt="Apache 2.0 license"/></a>
9
- <a href="pyproject.toml"><img src="https://img.shields.io/badge/python-3.10%20to%203.15-3776ab" alt="Python requirement for tigrbl"/></a>
10
- <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"/></a>
11
- </div>
12
-
13
- ## Install
14
-
15
- ```bash
16
- uv add tigrbl
17
- ```
18
-
19
- ```bash
20
- pip install tigrbl
21
- ```
22
-
23
- Optional extras declared in `pyproject.toml`:
24
-
25
- ```bash
26
- pip install "tigrbl[postgres, servers, templates, tests]"
27
- ```
28
-
29
- ## What It Owns
30
-
31
- `tigrbl` owns the public facade boundary for the Python workspace, re-exporting the author-facing app, router, ORM, decorator, security, and CLI surfaces while delegating resident behavior to split packages. Key implementation roots include `examples` with `swarmauri_tigrbl_bridge, swarmauri_tigrbl_bridge_smooth`; `tigrbl` with `__main__, canonical_json, cli, config/, ddl/, decorators/`.
32
-
33
- ## Use It When
34
-
35
- Use `tigrbl` when you want the public Python authoring surface in one install target: app composition, schema-first routing, REST and JSON-RPC projection, docs generation, and CLI workflow.
36
-
37
- ## Public Surface
38
-
39
- - `tigrbl` exposes `import_module, extend_path, APIKey, Alias, App, BackgroundTask, Binding, BindingRegistry`.
40
- - Console scripts: `tigrbl`.
41
-
42
- ## Internal Layout
43
-
44
- - Workspace path: `pkgs/core/tigrbl`.
45
- - Package class: `facade package`.
46
- - Python requirement: `>=3.10,<3.15`.
47
- - `examples` modules: `swarmauri_tigrbl_bridge, swarmauri_tigrbl_bridge_smooth`.
48
- - `tigrbl` modules: `__main__, canonical_json, cli, config/, ddl/, decorators/, engine/, factories/, hook/, middlewares/`.
49
-
50
- ## Dependency Surface
51
-
52
- - Workspace package dependencies: [`tigrbl-core`](https://pypi.org/project/tigrbl-core/), [`tigrbl-base`](https://pypi.org/project/tigrbl-base/), [`tigrbl-concrete`](https://pypi.org/project/tigrbl-concrete/), [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/), [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/), [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/), [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/), [`tigrbl-kernel`](https://pypi.org/project/tigrbl-kernel/), [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/).
53
- - External runtime dependencies: `pydantic>=2.0.0`, `sqlalchemy>=2.0`, `aiosqlite>=0.19.0`, `httpx>=0.27.0`, `greenlet>=3.2.3`, `uvicorn`.
54
- - Optional extras: `rust`, `postgres`, `servers`, `templates`, `tests`.
55
-
56
- ## Related Packages
57
-
58
- - [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
59
- - [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
60
- - [`tigrbl-concrete`](https://pypi.org/project/tigrbl-concrete/)
61
- - [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/)
62
- - [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/)
63
- - [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
64
- - [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/)
65
- - [`tigrbl-kernel`](https://pypi.org/project/tigrbl-kernel/)
66
-
67
- ## Canonical Repository Docs
68
-
69
- - `docs/README.md`
70
- - `docs/conformance/CURRENT_TARGET.md`
71
- - `docs/conformance/CURRENT_STATE.md`
72
- - `docs/conformance/NEXT_STEPS.md`
73
- - `docs/governance/DOC_POINTERS.md`
74
- - `docs/developer/PACKAGE_CATALOG.md`
75
- - `docs/developer/PACKAGE_LAYOUT.md`
76
-
77
- ## Package-local Boundary
78
-
79
- This file is a package-local distribution entry point.
80
- Use this page for package installation and boundary orientation. Repository governance, conformance state, target status, and release evidence remain governed from `docs/` and `.ssot/`.
81
-
82
- ## License
83
-
84
- Licensed under the Apache License, Version 2.0. See `LICENSE` and the official [Apache 2.0 license text](https://www.apache.org/licenses/LICENSE-2.0).
File without changes
File without changes
File without changes