KynetraDB developer ecosystem

Data access integrations

Keep familiar query and model workflows while KynetraDB remains honest about the boundary. Two native HTTP previews and ten Postgres bridge starters share one versioned capability catalog.

12 data-access integrations2 native HTTP previews10 Postgres bridge starters14 migration sources

Direct to /rest/v1

Native HTTP previews

Prisma-shaped repository methods and a Drizzle-shaped query builder translate a bounded, validated subset to KynetraDB HTTP requests. They are not full upstream ORM drivers.

Prisma

Node.js / TypeScript
Native HTTP previewpreview

A Prisma-shaped repository for findMany, findUnique, create, update, delete, and upsert. It is not a Prisma driver adapter and does not run Prisma query-engine plans.

Each native HTTP mutation is one request. Interactive and nested Prisma transactions are unsupported.

crud: supportedscalar filters: supportedtransactions: unsupportedvector search: raw-query

Drizzle

Node.js / TypeScript
Native HTTP previewpreview

A Drizzle-shaped select builder with typed condition nodes and a bridge pgTable schema. It is not a drizzle-orm database driver.

Native HTTP builder requests are independent. Drizzle PostgreSQL transactions apply only when using the bridge database directly.

crud: supportedscalar filters: supportedtransactions: unsupportedvector search: raw-query
prisma-shaped.mjsjavascript
const posts = createPrismaRepository({ baseUrl, apiKey, model: 'posts' })

const published = await posts.findMany({
  where: { published: true, views: { gte: 10 } },
  orderBy: { created_at: 'desc' },
  take: 20,
})
drizzle-shaped.mjsjavascript
const db = createDrizzleClient({ baseUrl, apiKey })

const published = await db.select('id,title')
  .from('posts')
  .where(and(eq('published', true), gte('views', 10)))
  .orderBy(desc('created_at'))
  .limit(20)

Direct PostgreSQL access

Postgres bridge starters

Schema mappings target the same kynetra_entities table used by KynetraDB Postgres Bridge. KynetraDB owns that table, its indexes, and helper functions.

SQLAlchemy

Python
Postgres bridge starterpreview

A SQLAlchemy 2.x declarative mapping for bridge entities and JSON attributes.

Transactions cover the bridge PostgreSQL database only; they do not create a distributed KynetraDB Universal Log transaction.

crud: bridge-onlyscalar filters: bridge-onlytransactions: bridge-onlyvector search: raw-query

Hibernate / JPA

JVM
Postgres bridge starterpreview

A JPA entity mapping for the bridge table with JSON and array columns.

Transactions cover the bridge PostgreSQL database only; they do not create a distributed KynetraDB Universal Log transaction.

crud: bridge-onlyscalar filters: bridge-onlytransactions: bridge-onlyvector search: raw-query

Entity Framework Core

.NET
Postgres bridge starterpreview

An EF Core entity and model configuration for Npgsql-backed bridge deployments.

Transactions cover the bridge PostgreSQL database only; they do not create a distributed KynetraDB Universal Log transaction.

crud: bridge-onlyscalar filters: bridge-onlytransactions: bridge-onlyvector search: raw-query

Django ORM

Python / Django
Postgres bridge starterpreview

An unmanaged Django model for reading and writing bridge entities without owning migrations.

Transactions cover the bridge PostgreSQL database only; they do not create a distributed KynetraDB Universal Log transaction.

crud: bridge-onlyscalar filters: bridge-onlytransactions: bridge-onlyvector search: raw-query

Active Record

Ruby on Rails
Postgres bridge starterpreview

A Rails model for the bridge table with ownership and validation boundaries.

Transactions cover the bridge PostgreSQL database only; they do not create a distributed KynetraDB Universal Log transaction.

crud: bridge-onlyscalar filters: bridge-onlytransactions: bridge-onlyvector search: raw-query

Sequelize

Node.js / TypeScript
Postgres bridge starterpreview

A Sequelize model definition for JSONB attributes and float-array embeddings.

Transactions cover the bridge PostgreSQL database only; they do not create a distributed KynetraDB Universal Log transaction.

crud: bridge-onlyscalar filters: bridge-onlytransactions: bridge-onlyvector search: raw-query

TypeORM

Node.js / TypeScript
Postgres bridge starterpreview

A TypeORM entity mapping for the bridge-owned table.

Transactions cover the bridge PostgreSQL database only; they do not create a distributed KynetraDB Universal Log transaction.

crud: bridge-onlyscalar filters: bridge-onlytransactions: bridge-onlyvector search: raw-query

Diesel

Rust
Postgres bridge starterpreview

A Diesel table declaration and queryable bridge entity.

Transactions cover the bridge PostgreSQL database only; they do not create a distributed KynetraDB Universal Log transaction.

crud: bridge-onlyscalar filters: bridge-onlytransactions: bridge-onlyvector search: raw-query

GORM

Go
Postgres bridge starterpreview

A GORM model using pgtype for JSONB and float-array bridge columns.

Transactions cover the bridge PostgreSQL database only; they do not create a distributed KynetraDB Universal Log transaction.

crud: bridge-onlyscalar filters: bridge-onlytransactions: bridge-onlyvector search: raw-query

Ecto

Elixir / Phoenix
Postgres bridge starterpreview

An Ecto schema for bridge entities with migration ownership disabled.

Transactions cover the bridge PostgreSQL database only; they do not create a distributed KynetraDB Universal Log transaction.

crud: bridge-onlyscalar filters: bridge-onlytransactions: bridge-onlyvector search: raw-query

Migrate in · 14 sources

Migration sources

One migrator CLI reads from 14 systems and writes Collections and entities into KynetraDB. Sources split by how they reach your data: a file on disk, a database wire protocol, or a vendor HTTP API.

SourceSubcommandReaches your data viaWhat it reads
Cloudflare D1d1SQLite fileA D1 export. Tables are enumerated from sqlite_master, skipping SQLite internals and Cloudflare _cf_* bookkeeping tables.
PocketBasepocketbaseSQLite fileA pb_data/data.db file, using PocketBase’s _collections meta table.
SQLitenewestsqliteSQLite fileAny local SQLite database. One collection per table, one entity per row; sqlite_% internals and all views skipped.
MongoDBmongoWire protoAll collections from a database.
PostgreSQLpostgresWire protoSchema-aware: creates Collections, then streams rows.
SupabasesupabaseWire protoA Supabase or PostgreSQL database.
AlgoliaalgoliaHTTP APIAn index via the Browse API.
AppwriteappwriteHTTP APIAll databases, collections and documents from a project.
ConvexconvexHTTP APIAll tables from a deployment via internal migration functions.
MeilisearchmeilisearchHTTP APIAll documents from an index.
PineconepineconeHTTP APIAn index via the Data Plane REST API.
TypesensetypesenseHTTP APIAll documents from a collection, as an NDJSON export.
NDJSONndjsonFileA per-tenant export produced by the admin export endpoint; verifies the integrity trailer before it writes.
FirebasefirebaseJSON exportA Firestore admin export JSON file.

The SQLite source cannot touch your database

The newest source opens the file with SQLITE_OPEN_READ_ONLY andno CREATE flag. That is a structural guarantee rather than a policy: SQLite itself refuses the write, so a migration cannot mutate, vacuum, or fabricate your data — and it cannot quietly create an empty database if you typo the path, because a missing file makes the open fail instead of succeeding against nothing. Journal and WAL sidecar files are not created either.

It matters because the failure mode it removes is the expensive one: a migration tool that opens read-write can leave your source subtly different from how it found it, and you will not know until you try to roll back to it.

read-only by constructionbash
# One collection per table, one entity per row.
kynetra-migrate sqlite ./app.db

# Opened with SQLITE_OPEN_READ_ONLY and no CREATE:
#   - cannot mutate, vacuum or rewrite the source
#   - no -journal / -wal sidecars created
#   - a missing path ERRORS instead of being
#     created as an empty database
#   - sqlite_% internals and all views skipped
#     (tables only in this slice)

Compatibility boundary

Transactions

Native HTTP mutations are individual requests. Direct ORM transactions stop at the bridge PostgreSQL database and do not span the Universal Log, files, caches, or sinks.

Migrations

Application migration tools may own application tables. They must not drop, rename, or retype kynetra_entities or Kynetra helper functions.

Search

BM25 and vector operations remain raw-query or KynetraDB API operations until each framework has a verified native extension.