Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins.
Project description
tigrbl
Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins.
What is tigrbl?
Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins.
Why use tigrbl?
Use it when you want the public Tigrbl authoring surface in one install target instead of composing split packages by hand.
When should I install tigrbl?
Install it for application projects, examples, service skeletons, and teams that want REST, JSON-RPC, docs, schemas, engines, and CLI support from one facade.
Who is tigrbl for?
Application developers, platform teams, and service owners building schema-first Python APIs.
Where does tigrbl fit?
tigrbl lives at pkgs/core/tigrbl and serves schema-first service authoring, REST and JSON-RPC projection, docs, engines, and CLI workflows.
How does tigrbl work?
It re-exports stable author-facing classes and decorators while delegating resident behavior to core, base, runtime, kernel, atoms, ORM, and operation packages.
Certification Status
- Package status: governed package in the
tigrbl/tigrblworkspace. - Governance source: SSOT registry.
- Release evidence: publish workflow validates package builds, tests, GitHub release assets, and PyPI publication for managed packages.
- Local certification guard:
pkgs/core/tigrbl_tests/tests/unit/test_package_badges_and_notices.pyverifies every package README keeps the Discord badge, Apache 2.0 badge, explicit Python-version badge,LICENSE, andNOTICE. - Scope note: this README documents the package boundary. Runtime feature support remains governed by
.ssot/entities and the conformance docs linked below.
Install
uv add tigrbl
pip install tigrbl
Optional extras declared in pyproject.toml:
pip install "tigrbl[postgres,servers,templates,tests]"
Surface Coverage
| Surface | Value |
|---|---|
| PyPI package | tigrbl |
| Repository path | pkgs/core/tigrbl |
| Python import root | tigrbl |
| Console scripts | tigrbl |
| Entry points | none declared |
| Optional extras | postgres, servers, templates, tests |
| Legal files | LICENSE, NOTICE |
| Supported Python | `3.10 |
What It Owns
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.
Implementation orientation:
tigrbl: main, canonical_json, cli, config/, ddl/, decorators/, engine/, factories/, hook/, middlewares/, op/, orm/
Public API and Import Surface
- Import roots:
tigrbl. - Public symbols:
APIKey,Alias,App,AppBase,AppSpec,Arity,BINDING_PROFILE_EXCHANGE_SUPPORT,BackgroundTask,Binding,BindingRegistry,BindingRegistrySpec,BindingSpec. - Workspace dependencies:
tigrbl-core,tigrbl-base,tigrbl-concrete,tigrbl-canon,tigrbl-orm,tigrbl-runtime,tigrbl-atoms,tigrbl-kernel,tigrbl-ops-oltp. - External runtime dependencies:
pydantic>=2.0.0,sqlalchemy>=2.0,aiosqlite>=0.19.0,httpx>=0.27.0,greenlet>=3.2.3,uvicorn.
Usage Examples
Verify the installed package
python -m pip show tigrbl
python - <<'PY'
from importlib.metadata import version
print(version("tigrbl"))
PY
Create a small Tigrbl app shell
from tigrbl import TigrblApp, TigrblRouter
app = TigrblApp()
router = TigrblRouter()
app.include_router(router)
Use author-facing decorators
from tigrbl import get, post
@get("/health")
def health() -> dict[str, str]:
return {"status": "ok"}
@post("/items")
def create_item(payload: dict) -> dict:
return payload
Run the console entry point
tigrbl --help
python -m tigrbl --help
How To Choose This Package
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, tigrbl-base, or tigrbl-runtime only when you are building framework extensions or testing a specific internal boundary.
Related Packages
tigrbl-coretigrbl-basetigrbl-concretetigrbl-canontigrbl-ormtigrbl-runtimetigrbl-atomstigrbl-kerneltigrbl-ops-oltp
Documentation Links
- Workspace docs
- Package catalog
- Package layout
- Current target
- Current state
- SSOT registry
- Release workflow
Support
- Community: Discord.
- Issues: GitHub Issues.
- Repository: pkgs/core/tigrbl.
Package-local Boundary
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.
License
Licensed under the Apache License, Version 2.0. See LICENSE, NOTICE, and the official Apache 2.0 license text.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tigrbl-0.4.2.tar.gz.
File metadata
- Download URL: tigrbl-0.4.2.tar.gz
- Upload date:
- Size: 51.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
027ee30b3cef415a4c9ee10405bd5bd2fe13db6f5619d95eedbc52a38309ac57
|
|
| MD5 |
25625229e57e0e7a1e7ec3b909bdb7df
|
|
| BLAKE2b-256 |
2a2ca92fe92c36a6ddc5e8b91211882325fed218135ce6e91ee4f54ea21bf629
|
File details
Details for the file tigrbl-0.4.2-py3-none-any.whl.
File metadata
- Download URL: tigrbl-0.4.2-py3-none-any.whl
- Upload date:
- Size: 76.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.18 {"installer":{"name":"uv","version":"0.11.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da8b0ad390a066853b51a122cb7311148c7144644a1a712ca0ed12cd9f040928
|
|
| MD5 |
354e2df61f6b42f005831bf62fd16a5b
|
|
| BLAKE2b-256 |
2c9a2ef6879d1bb4f350a833fa001fd8049723afca61091c76ee5655ee7f3f28
|