Choose an SDK

August 7, 2026 ยท View on GitHub

Every TypeBridge SDK uses the same Rust-owned schema, query, validation, migration, and ORM contracts. Choose based on the language that owns your application boundary, not on different database semantics.

SurfaceModel styleExecutionBest fit
PythonGenerated model/value classesEmbedded native runtimePython services, scripts, data applications
TypeScript / NodeGenerated branded model/value classesEmbedded N-API runtimeNode services with compile-time model safety
RustGenerated schema crateNative async clientRust services that bind models to a canonical schema
ServerCanonical request and schema contractsRemote one-exchange executionCentralized execution with caller-owned transport

Shared behavior

  • Split-YAML entity, relation, attribute, role, inheritance, and cardinality facts are validated by Rust before generation.
  • CRUD, hydration, query compilation, and transactions use the shared ORM.
  • Immutable typed queries preserve owner-aware fields and selected model types.
  • Compiled schema authority, schema fingerprints, and runtime projections are embedded in each generated package and bind its direct and remote queries.
  • The separate generated schema-authority artifact exists only for a generic server and is never an SDK schema input.

Deliberate language differences

The generated projections preserve native language conventions. Python uses keyword-only constructors; TypeScript uses branded value classes and bigint; Rust uses generated create/model types and async operations. These are typed boundary differences, not alternate query or migration implementations.

The exact shared behavior of immutable queries is documented in Immutable typed queries. Maintainers should also consult the normative unified typed-query contract.