TypeBridge is a typed application toolkit for TypeDB. A versioned Split-YAML workspace is the schema authority. TypeBridge validates that workspace and generates Python, TypeScript/Node, Rust, and C bindings that share one Rust-owned schema, query, migration, validation, and ORM engine.
One system, four generated SDKs
| Surface | Generated application API | Distribution |
|---|---|---|
| Python | Value classes, model managers, transactions, direct/remote queries | type-bridge |
| TypeScript / Node | Branded values, model managers, native and remote queries | @type-bridge/node |
| Rust | Schema-bound create/model types, async CRUD and immutable queries | type-bridge |
| C | Generated nominal models, transactions, direct/remote queries | Ubuntu 24.04 x86_64 shared runtime |
| CLI | Split-YAML checks, migrations, and all four projections | Python package or standalone Linux archive |
| Server | Remote V2 query execution over the same generated contract | ghcr.io/ds1sqe/type-bridge-server |
TypeBridge preserves TypeDB concepts directly: independent attributes, entities, relations, roles, inheritance, cardinality, ordering, keys, and uniqueness remain typed from schema through hydrated results.
Start from Split-YAML
Install the CLI and Python runtime:
pip install type-bridge
Create typebridge.yaml, a schema-set manifest, and one or more schema
fragments. Configure the generated package output in the workspace, then run:
type-bridge --manifest typebridge.yaml schema check
type-bridge --manifest typebridge.yaml schema generate
type-bridge --manifest typebridge.yaml migration make --name initial
type-bridge --manifest typebridge.yaml migration apply --environment development
One generation snapshot writes every configured Python, TypeScript, Rust, and C
package. Generated packages privately embed the verified authority used by
their managers and direct or remote queries, so ordinary applications never
configure or read an external authority JSON. A workspace deploying the optional
generic server can additionally configure artifacts.schema-authority.output;
the server mounts that generated, source-free artifact instead of compiling
YAML or accepting a user-maintained JSON schema.
The generated Python package owns the concise single-type manager:
from app_models import Age, Person, PersonId
from type_bridge import Database
db = Database(address="localhost:1729", database="example")
db.connect()
ada = Person(person_id=PersonId("ada"), age=Age(36))
Person.manager(db).put(ada)
people = Person.manager(db).filter(age__gte=18).all()
Use its package-local query session when a query spans types:
session = Person.query(db)
person = session.exact(Person)
adults = (
session.query(person)
.where(person.field(Person.age).gte(Age(18)))
.rows(limit=100)
)
Continue with the Python quick start, Split-YAML reference, and data guide.
TypeScript / Node
npm install @type-bridge/node
Import application values from the generated package and connection primitives
from @type-bridge/node:
import { RustDatabase } from "@type-bridge/node";
import { Age, Person, PersonId } from "./generated/models/index.js";
const db = RustDatabase.connect("localhost:1729", "example", {
username: "admin",
password: "password",
});
const ada = Person.create({
personId: PersonId.create("ada"),
age: Age.create(36n),
});
Person.manager(db).put(ada);
const people = Person.manager(db).filter({ age__gte: Age.create(18n) }).all();
See the TypeScript/Node guide for generated managers, transactions, and direct/remote queries.
Rust
The same workspace emits a schema-bound Rust crate. The generated SDK uses
Rust 1.88+ and the crates.io type-bridge runtime:
[dependencies]
type-bridge = "2"
Follow the Rust client guide for generation, direct execution, transactions, and remote queries.
C
TypeBridge 2.2.0 ships a C ABI 1.6.0 shared runtime and standalone CLI for Ubuntu 24.04 on x86_64 GNU/Linux. Generate an application schema package from Split-YAML, then link C17 or C++17 consumers with CMake or pkg-config.
See the C SDK guide for signed archives, installation, generation, and the exact supported matrix.
Documentation
- Install a surface
- Model data in Split-YAML
- Read and write generated models
- Manage schemas and migrations
- Run the query server
- Browse the Cargo package index
- Compatibility and removals
Development
uv sync --extra dev
uv run pytest
./test.sh
./scripts/check.sh all
uv run --extra docs mkdocs build --strict
See DEVELOPMENT.md for repository boundaries and verification.
License
TypeBridge-authored code is MIT licensed. Native artifacts also include third-party TypeDB components under Apache-2.0 and MPL-2.0; exact notices ship with each artifact.
Metadata
Release files for type-bridge 2.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| type_bridge-2.2.1.tar.gz | 194.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| type_bridge-2.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 442.3 kB
Release files / type_bridge-2.2.1.tar.gz
| Download URL | type_bridge-2.2.1.tar.gz |
|---|---|
| Size | 194.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f851dd0aad3132ff855fb8e839fa5d2d20b1c3b2bc3056978fabb71a24e1aabd
|
|
BLAKE2b-256 checksum How to use checksums |
b335a563e7ca4aa61a7736be216c7a3959c53ccd9a7c0a75c3c5aed24f0ae7b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency logRelease files / type_bridge-2.2.1-py3-none-any.whl
| Download URL | type_bridge-2.2.1-py3-none-any.whl |
|---|---|
| Size | 248.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e9f49c8953b09807b69b3d07945240d5464cfe9e8bf39bd28f2db41997c7f28
|
|
BLAKE2b-256 checksum How to use checksums |
0ff69d7830e2d081d9159e3f11333abb626e658e9de41c6bb34ad05b67bd0004
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 14, 2026.
Transparency log