Installing the Python SDK

uv add stratadb

Or with pip, if that is your project’s tooling:

pip install stratadb

Python 3.9 or newer. The wheel is compiled, so there is no Rust toolchain to install and nothing to build.

The SDK contains the engine

This is the part that differs from most database clients. stratadb is not a driver that talks to a server somewhere: the engine is compiled into the wheel, and installing it installs the database.

Two consequences follow.

You do not need the strata CLI to use Python. They are separate installs of the same engine, and either one can open a database the other made.

And the version you get is the SDK’s, which is published separately from the binary:

import stratadb
stratadb.__version__
'1.2.2'

They usually match. They can drift for a few days after a release while one waits for the other, and when they do, the newer engine’s most recent commands may have no Python method yet. Compatibility and versioning shows the current pairing and is generated from what is actually installed.

Checking it works

import stratadb

with stratadb.open(cache=True) as db:
    db.kv.put("hello", "world")
    print(db.kv.get("hello"), db.version)
b'world' 1.2.2

cache=True opens an in-memory database, so this writes nothing to disk and leaves nothing behind. It is also the right mode for tests.

In a project

Nothing about Strata needs configuring, because there is nothing to connect to. A dependency and a path is the whole setup:

# pyproject.toml
dependencies = ["stratadb>=1.2.2"]

Pin the minor version if you are relying on something recent. The command surface is still moving during research preview, and Compatibility and versioning says what is and is not stable.

Where to look next

Opening databases is the next thing to read: handles, lifetime, and the rules about threads and processes.

Verified against strata-python@v1.2.4 · Edit this page · Report an issue

agents: this page as markdown → /docs/develop/python/installation.md