Skip to main content

Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins.

Project description

tigrbl

Tigrbl logo

Schema-first ASGI framework for REST and JSON-RPC APIs with OpenAPI, OpenRPC, SQLAlchemy, typed validation, hooks, and engine plugins.

PyPI version for tigrbl Downloads for tigrbl Discord community for tigrbl Repository hits for tigrbl README Apache 2.0 license Python versions 3.10 | 3.11 | 3.12 | 3.13 | 3.14 for tigrbl Workspace group for tigrbl

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/tigrbl workspace.
  • 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.py verifies every package README keeps the Discord badge, Apache 2.0 badge, explicit Python-version badge, LICENSE, and NOTICE.
  • 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

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

Documentation Links

Support

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

tigrbl-0.4.2.dev4.tar.gz (51.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tigrbl-0.4.2.dev4-py3-none-any.whl (76.8 kB view details)

Uploaded Python 3

File details

Details for the file tigrbl-0.4.2.dev4.tar.gz.

File metadata

  • Download URL: tigrbl-0.4.2.dev4.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

Hashes for tigrbl-0.4.2.dev4.tar.gz
Algorithm Hash digest
SHA256 b8eadce416bfea1d5e506a8bdb2bf347a03db575a07ed672ec0a39dff9fcdf9b
MD5 bb9e8c3a7f262bef42401a6dc32c7746
BLAKE2b-256 74663022947771a83dbddcfe827afe77251b661c6801d7aa7ba3d31739873773

See more details on using hashes here.

File details

Details for the file tigrbl-0.4.2.dev4-py3-none-any.whl.

File metadata

  • Download URL: tigrbl-0.4.2.dev4-py3-none-any.whl
  • Upload date:
  • Size: 76.8 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

Hashes for tigrbl-0.4.2.dev4-py3-none-any.whl
Algorithm Hash digest
SHA256 a59e762fd3c4a550b2bf07d3cd3b65029b793787affc4253057fca8e09f5e4a8
MD5 c554ff728ccf7d56dee2b209fdff05bf
BLAKE2b-256 7f75aff6dc20ec081af42e1e5d31be5969b3b830d7641ca56f9cd55fa30d8773

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page