https://github.com/tigrbl/tigrbl
Schema-first Python and Rust workspace for REST and JSON-RPC APIs with typed validation, SQLAlchemy models, and engine-backed execution.
https://github.com/tigrbl/tigrbl
api-framework asgi developer-tools json-rpc python rest-api rust schema-first sqlalchemy typed-validation
Last synced: 2 days ago
JSON representation
Schema-first Python and Rust workspace for REST and JSON-RPC APIs with typed validation, SQLAlchemy models, and engine-backed execution.
- Host: GitHub
- URL: https://github.com/tigrbl/tigrbl
- Owner: tigrbl
- License: apache-2.0
- Created: 2026-03-20T06:09:17.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2026-05-28T03:03:14.000Z (7 days ago)
- Last Synced: 2026-05-28T03:08:36.396Z (7 days ago)
- Topics: api-framework, asgi, developer-tools, json-rpc, python, rest-api, rust, schema-first, sqlalchemy, typed-validation
- Language: Python
- Homepage: https://tigrbl.com
- Size: 61.4 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Security: SECURITY.md
- Governance: docs/governance/CERTIFICATION_POLICY.md
Awesome Lists containing this project
README
Tigrbl Workspace
Schema-first Python and Rust workspace for REST APIs, JSON-RPC APIs, typed contracts, runtime pipelines, engine plugins, and native execution layers.

## What This Repository Owns
Tigrbl is a mixed Python and Rust workspace for schema-first service authoring and execution. The Python side owns the public facade, split framework layers, and installable engine plugins. The Rust side owns spec IR, ports, atoms, kernel compilation, runtime execution, and native engine crates. Active workspace manifests currently define `40` PyPI packages, `0` npm packages, and `11` Rust crates.
## Install and Work on the Workspace
```bash
uv sync --all-extras --dev
cargo test --workspace
```
Most users start with [`tigrbl`](https://pypi.org/project/tigrbl/) for the public Python facade. Package-level README entry points under `pkgs/` and `crates/` now document the boundary, install target, and dependency surface for each distributable.
## Package Families
### Core Python packages
- [`tigrbl`](https://pypi.org/project/tigrbl/)
- [`tigrbl-atoms`](https://pypi.org/project/tigrbl-atoms/)
- [`tigrbl-base`](https://pypi.org/project/tigrbl-base/)
- [`tigrbl-canon`](https://pypi.org/project/tigrbl-canon/)
- [`tigrbl_client`](https://pypi.org/project/tigrbl_client/)
- [`tigrbl-concrete`](https://pypi.org/project/tigrbl-concrete/)
- [`tigrbl-core`](https://pypi.org/project/tigrbl-core/)
- [`tigrbl-kernel`](https://pypi.org/project/tigrbl-kernel/)
- [`tigrbl-ops-olap`](https://pypi.org/project/tigrbl-ops-olap/)
- [`tigrbl-ops-oltp`](https://pypi.org/project/tigrbl-ops-oltp/)
- [`tigrbl-ops-realtime`](https://pypi.org/project/tigrbl-ops-realtime/)
- [`tigrbl-orm`](https://pypi.org/project/tigrbl-orm/)
- [`tigrbl-runtime`](https://pypi.org/project/tigrbl-runtime/)
- [`tigrbl_spec`](https://pypi.org/project/tigrbl_spec/)
- [`tigrbl_tests`](https://pypi.org/project/tigrbl_tests/)
- [`tigrbl-typing`](https://pypi.org/project/tigrbl-typing/)
### Engine packages
- [`tigrbl_engine_bigquery`](https://pypi.org/project/tigrbl_engine_bigquery/)
- [`tigrbl_engine_clickhouse`](https://pypi.org/project/tigrbl_engine_clickhouse/)
- [`tigrbl_engine_csv`](https://pypi.org/project/tigrbl_engine_csv/)
- [`tigrbl_engine_dataframe`](https://pypi.org/project/tigrbl_engine_dataframe/)
- [`tigrbl_engine_duckdb`](https://pypi.org/project/tigrbl_engine_duckdb/)
- [`tigrbl_engine_inmemcache`](https://pypi.org/project/tigrbl_engine_inmemcache/)
- [`tigrbl_engine_inmemory`](https://pypi.org/project/tigrbl_engine_inmemory/)
- [`tigrbl_engine_membloom`](https://pypi.org/project/tigrbl_engine_membloom/)
- [`tigrbl_engine_memdedupe`](https://pypi.org/project/tigrbl_engine_memdedupe/)
- [`tigrbl_engine_memkv`](https://pypi.org/project/tigrbl_engine_memkv/)
- [`tigrbl_engine_memlru`](https://pypi.org/project/tigrbl_engine_memlru/)
- [`tigrbl_engine_mempubsub`](https://pypi.org/project/tigrbl_engine_mempubsub/)
- [`tigrbl_engine_memqueue`](https://pypi.org/project/tigrbl_engine_memqueue/)
- [`tigrbl_engine_memrate`](https://pypi.org/project/tigrbl_engine_memrate/)
- [`tigrbl_engine_numpy`](https://pypi.org/project/tigrbl_engine_numpy/)
- [`tigrbl_engine_pandas`](https://pypi.org/project/tigrbl_engine_pandas/)
- [`tigrbl_engine_pgsqli_wal`](https://pypi.org/project/tigrbl_engine_pgsqli_wal/)
- [`tigrbl_engine_postgres`](https://pypi.org/project/tigrbl_engine_postgres/)
- [`tigrbl_engine_pyspark`](https://pypi.org/project/tigrbl_engine_pyspark/)
- [`tigrbl_engine_redis`](https://pypi.org/project/tigrbl_engine_redis/)
- [`tigrbl_engine_rediscachethrough`](https://pypi.org/project/tigrbl_engine_rediscachethrough/)
- [`tigrbl_engine_snowflake`](https://pypi.org/project/tigrbl_engine_snowflake/)
- [`tigrbl_engine_sqlite`](https://pypi.org/project/tigrbl_engine_sqlite/)
- [`tigrbl_engine_xlsx`](https://pypi.org/project/tigrbl_engine_xlsx/)
### Rust workspace
The Rust crates and optional Python extension bindings now live in the private
[`tigrbl_rs`](https://github.com/tigrbl/tigrbl_rs) repository.
## How to Choose a Package
- Install [`tigrbl`](https://pypi.org/project/tigrbl/) when you want the public Python authoring surface in one dependency.
- Install split core packages when you want a narrower subsystem boundary such as runtime, ORM, kernel, typing, client, tests, or operation families.
- Install engine packages when you want a backend-specific dependency surface for SQLite, Postgres, Redis, warehouse, tabular, or in-memory workflows.
- Use the independent `tigrbl_acme_ca` and `tigrbl_spiffe` repositories when you want ready-made Tigrbl application boundaries for ACME CA or SPIFFE/SPIRE identity flows.
- Use the private `tigrbl_rs` repository when you are embedding or extending native Tigrbl compilation, runtime, or engine layers.
- There are no active npm package manifests in this workspace at the moment.
## Current Package Line
The active Python package line is `0.4.1`. The Rust workspace package line is `0.4.1`. Repository-governed target status and release evidence are not declared from this README; use the canonical docs below for that authority.
## Canonical Repository Docs
- `docs/README.md`
- `docs/conformance/CURRENT_TARGET.md`
- `docs/conformance/CURRENT_STATE.md`
- `docs/conformance/NEXT_STEPS.md`
- `docs/conformance/NEXT_TARGETS.md`
- `docs/governance/DOC_POINTERS.md`
- `CONTRIBUTING.md`
- `CODE_OF_CONDUCT.md`
- `SECURITY.md`
## Governance Notes
The `.ssot/` tree remains the governed source of truth for entities, package boundaries, and release evidence. Package-local `README.md` files under `pkgs/` and `crates/` are distribution entry points, not authoritative conformance records.
Release evidence is organized under `docs/conformance/releases/`. Active development-line evidence is organized under `docs/conformance/dev/`.
## License
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).