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.
- tigrbl-0.4.2.dev4/NOTICE +7 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/PKG-INFO +117 -30
- tigrbl-0.4.2.dev4/README.md +170 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/pyproject.toml +1 -1
- tigrbl-0.4.2.dev3/README.md +0 -84
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/LICENSE +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/__main__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/canonical_json.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/cli.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/config/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/config/constants.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/config/defaults.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/ddl/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/allow_anon.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/engine.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/hook.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/middlewares.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/op.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/response.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/rest.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/schema.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/decorators/session.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/bind.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/builders.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/capabilities.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/collect.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/plugins.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/registry.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/engine/resolver.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/app.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/column.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/engine.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/hook.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/op.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/responses.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/router.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/schema.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/factories/table.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/hook/exceptions.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/hook/types.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/middlewares/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/middlewares/compose.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/op/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/op/canonical.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/op/collect.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/op/types.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/orm/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/requests.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/rest/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/build_schema.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/cache.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/extras.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/helpers.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/list_params.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/builder/strip_parent_fields.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/schema/utils.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/security/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/security/dependencies.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/session/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/session/base.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/session/spec.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/app.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/column.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/engine.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/hook.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/op.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/responses.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/rest.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/router.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/schema.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/shortcuts/table.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/specs.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/healthz.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/hookz.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/kernelz.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/methodz.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/router.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/diagnostics/utils.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/lens.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openapi/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openapi/helpers.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openapi/metadata.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openapi/mount.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openapi/schema.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/openrpc.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/docs/swagger.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/favicon/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/favicon/assets/favicon.svg +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/system/uvicorn.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/jsonrpc/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/jsonrpc/helpers.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/jsonrpc/models.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/rest/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/transport/rest/aggregator.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/types/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/utils/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/utils/schema.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/vendor/__init__.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/vendor/jinja.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/vendor/pydantic.py +0 -0
- {tigrbl-0.4.2.dev3 → tigrbl-0.4.2.dev4}/tigrbl/vendor/sqlalchemy.py +0 -0
tigrbl-0.4.2.dev4/NOTICE
ADDED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tigrbl
|
|
3
|
-
Version: 0.4.2.
|
|
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%
|
|
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,
|
|
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
|
|
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
|
-
|
|
343
|
+
Implementation orientation:
|
|
344
|
+
- `tigrbl`: __main__, canonical_json, cli, config/, ddl/, decorators/, engine/, factories/, hook/, middlewares/, op/, orm/
|
|
297
345
|
|
|
298
|
-
|
|
346
|
+
## Public API and Import Surface
|
|
299
347
|
|
|
300
|
-
|
|
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
|
-
|
|
303
|
-
- Console scripts: `tigrbl`.
|
|
353
|
+
## Usage Examples
|
|
304
354
|
|
|
305
|
-
|
|
355
|
+
### Verify the installed package
|
|
306
356
|
|
|
307
|
-
|
|
308
|
-
-
|
|
309
|
-
-
|
|
310
|
-
|
|
311
|
-
|
|
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
|
-
|
|
365
|
+
### Create a small Tigrbl app shell
|
|
314
366
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
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
|
-
##
|
|
422
|
+
## Support
|
|
331
423
|
|
|
332
|
-
-
|
|
333
|
-
-
|
|
334
|
-
-
|
|
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
|
|
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.
|
|
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" }
|
tigrbl-0.4.2.dev3/README.md
DELETED
|
@@ -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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|