Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

BriskDB for Python

This package runs BriskDB's sharded SQLite engine in the Python process. It starts no listener, subprocess, signal handler, or global logger.

Tagged releases publish compiler-free wheels for CPython 3.9–3.14 on supported macOS and Linux targets:

python -m pip install --only-binary=:all: briskdb

To build the current checkout from source, use Python 3.9+ and Rust 1.85+:

python -m pip install ./python
import briskdb

db = briskdb.open("./data", shards=4)
session = db.session(routing_key="account-1")
session.migrate("CREATE TABLE notes (id INTEGER PRIMARY KEY, body TEXT NOT NULL)")
session.execute("INSERT INTO notes VALUES (?1, ?2)", [1, "hello"])
print(session.query("SELECT body FROM notes WHERE id = ?1", [1]))
session.close()
db.close()

Resource limits can be validated before the database opens:

config = briskdb.Config(shards=4, max_result_rows=5_000)
db = briskdb.open("./data", config=config)

Database and session handles own their native resources, close() is idempotent, and blocking engine work releases Python's GIL. Dropping live handles during interpreter shutdown is also safe.

Multiple independently spawned Python processes may open the same ready data directory on one local Linux or macOS host. Each process must create its own handle; use multiprocessing.get_context("spawn"), not an inherited live handle after fork(). Schema changes require every peer to close first and otherwise return retryable BusyError. See the multi-process contract.

Synchronous handles support with; the asyncio facade keeps engine work off the event loop and propagates task cancellation into Rust:

async with await briskdb.open_async("./data", shards=4) as db:
    async with await db.session(routing_key="account-1") as session:
        rows = await session.query("SELECT body FROM notes WHERE id = ?1", [1])

See sync and asyncio usage for cursors, deadlines, cancellation, thread/task safety, and the intentionally unclaimed DB-API transaction surface. The API reference, platform matrix, and serverless-shaped warm-handler example define the supported package surface and its current boundaries.

This is an alpha API. SQL supports None, bool, bounded integers, float, str, bytes-like values, and exact decimal.Decimal conversion with explicit errors when SQLite cannot store a value losslessly. See the executable value and exception contract for boundaries and the stable BriskDBError hierarchy.

Native Mongo/document commands are not claimed until BriskDB's document engine lands. The extension uses only the listener-free embedded Rust feature.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

briskdb-0.1.0a5.tar.gz (903.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

briskdb-0.1.0a5-cp39-abi3-manylinux_2_28_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ x86-64

briskdb-0.1.0a5-cp39-abi3-manylinux_2_28_aarch64.whl (5.3 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.28+ ARM64

briskdb-0.1.0a5-cp39-abi3-macosx_11_0_x86_64.whl (5.4 MB view details)

Uploaded CPython 3.9+macOS 11.0+ x86-64

briskdb-0.1.0a5-cp39-abi3-macosx_11_0_arm64.whl (5.1 MB view details)

Uploaded CPython 3.9+macOS 11.0+ ARM64

File details

Details for the file briskdb-0.1.0a5.tar.gz.

File metadata

  • Download URL: briskdb-0.1.0a5.tar.gz
  • Upload date:
  • Size: 903.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for briskdb-0.1.0a5.tar.gz
Algorithm Hash digest
SHA256 a8503e0099fd4505ded19c6f1d1f462f6f855bb3a655e86624943be6991dfce5
MD5 30e8429a9d0602a1cb4a08b676cb68a3
BLAKE2b-256 90d358dde330846570fe4b730070d613fef20da5339ccb6bbe58a7adcbdf015c

See more details on using hashes here.

File details

Details for the file briskdb-0.1.0a5-cp39-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for briskdb-0.1.0a5-cp39-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2275b1b4eb3a805dfe5f945922bb231ea30e1e8aa6fd2e59dac5c453d179e619
MD5 f77b18e557be3f462dbaa15a13f9d920
BLAKE2b-256 ed02641748ff02a2d96a5c6aa51ce2ef8a00953f80e2f7d01aaf8bff78d98bc2

See more details on using hashes here.

File details

Details for the file briskdb-0.1.0a5-cp39-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for briskdb-0.1.0a5-cp39-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 17e79fb07e55250bf0f4c0e4e47a75b2b9a9bd1d30a919b82e3a2c362c31619c
MD5 efc59cee6bce7d41f8d1a95d2e27ec64
BLAKE2b-256 1d5548377cc46a44df1dcf9c2cd0ba05098a196e5aa6458d1b72740baccfd7e4

See more details on using hashes here.

File details

Details for the file briskdb-0.1.0a5-cp39-abi3-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for briskdb-0.1.0a5-cp39-abi3-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 b2b289ab34ddf9675c44b7f0c2fe2e4e07108654a8a718aaa40d34c3cebd42bf
MD5 cee20a234810ed88d1692aa267a1fd6e
BLAKE2b-256 dd21c386f60cea863d55eb53de33bf31273298aa7e17c318adddae167464e732

See more details on using hashes here.

File details

Details for the file briskdb-0.1.0a5-cp39-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for briskdb-0.1.0a5-cp39-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 509e138be0eaac7641afbc1b556cba029e1bc225e47e4914d11da37e03dd7f8f
MD5 8825f7423913b7776ccb9f70687ec0af
BLAKE2b-256 cfc985e1243df9a114e8f264fe7ebcc55d5410a127edaa6ecda8c91909e5b3d4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page