TapirusDB
GET STARTED WITH THE CURRENT ENGINE

Build, inspect, then validate.

Four focused paths into TapirusDB: a local database, text memory, source retrieval, and the browser workspace. Each one uses the current API surface.

01 Start a local Rust database

Open a native .tapir file, make a table, write a row, and close the connection.

Use the documented core API

Rust
use tapirus::{Connection, Result};

fn main() -> Result<()> {
    let db = Connection::open("notes.tapir")?;
    db.execute("CREATE TABLE IF NOT EXISTS notes (id INTEGER PRIMARY KEY, body TEXT NOT NULL)")?;
    db.execute("INSERT INTO notes (id, body) VALUES (1, 'Local note')")?;
    println!("{:?}", db.query("SELECT id, body FROM notes")?);
    db.close()
}
TapirusDB supports a documented SQL subset. Review a query shape in the parser, executor and SDK tests before relying on it in production.

02 Give an agent a local text memory

The Python helper makes a compact starting point for application context. It does not claim semantic retrieval quality or a resource ceiling.

Install and store text

Python · pip install tapirus
import tapirus

with tapirus.connect("agent_memory.tapir") as db:
    db.remember("Alex prefers concise technical answers.")
    db.remember("The current project uses Rust and PostgreSQL.")

    for item in db.recall("What style of answer does Alex prefer?", limit=3):
        print(item.get("content", ""))
    db.checkpoint()
The current text-memory implementation matches stored content and may fall back to recent rows. Review its result before using it to inform an agent response.

03 Add application-provided embeddings

Use the Node SDK to store sources, then query them through the indexed memory path.

Keep the retrieval contract explicit

Node.js
const { open } = require('tapirus');
const db = open('assistant.tapir');

db.storeMemory({ content: 'Maintenance is due every 500 hours.',
  embedding: [1, 0], namespace: 'manuals' });
const matches = db.searchMemories({ query: 'maintenance interval',
  embedding: [1, 0], namespace: 'manuals', limit: 5 });
console.log(matches.map(match => match.entry.content));
db.close();
Use the same embedding model and dimension for documents and queries. Namespace/session filters are application filters, not authentication.

04 Inspect the Rust engine in your browser

Tapirus Studio is a browser workspace for SQL and source retrieval. It opens and downloads native files and saves committed browser snapshots to IndexedDB.

Browser workspace

Browser copies are unencrypted. Keep downloaded backups and use a native SDK when your deployment requires encrypted files.

Open Tapirus Studio

✓ Before you ship

Validate the exact path your users depend on.

Test write, close, reopen, recovery, resource use and retrieval quality with representative data. The documentation and test suite describe the covered cases; they are not a blanket guarantee for every workload.