Skip to main content

heliosdb-nano (Python)

In-process Python binding for HeliosDB-Nano's embedded database. Calls the Rust EmbeddedDatabase API directly — no subprocess, no wire protocol, no serialization hop — so Python sees the same path behind the "embedded beats SQLite" numbers.

import heliosdb_nano

db = heliosdb_nano.EmbeddedDatabase("/path/to/data")   # or .in_memory()

db.execute("CREATE TABLE messages (id INT, session_id TEXT, body TEXT)")
db.execute_many(
    "INSERT INTO messages (id, session_id, body) VALUES ($1, $2, $3)",
    [(1, "s1", "hi"), (2, "s1", "yo"), (3, "s2", "hey")],
)

db.query("SELECT COUNT(DISTINCT session_id) AS n FROM messages")   # [{'n': 2}]
db.query("SELECT * FROM messages WHERE session_id = $1", ("s1",))  # [{...}, {...}]

# Vector search (HNSW)
db.create_vector_store("emb", 3)
ids = db.insert_vectors("emb", [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]])
db.vector_search("emb", [1.0, 0.0, 0.0], k=1)                      # [(id, distance)]

API

method returns
EmbeddedDatabase(path) / EmbeddedDatabase.in_memory() a handle
query(sql, params=None) list[dict]
execute(sql, params=None) affected row count (int)
execute_many(sql, rows) total affected (int)
vector_search(store, query, k) list[(id, distance)]
create_vector_store(name, dimensions) / insert_vectors(store, vectors) — / list[id]
flush()

params is a tuple/list binding positionally to $1..$n. The GIL is released around every engine call, so multiple Python threads can query concurrently.

Build from source

pip install maturin
maturin develop -m bindings/python/Cargo.toml      # editable install into the active venv
maturin build  --release -m bindings/python/Cargo.toml   # abi3 wheel in target/wheels/

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

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

heliosdb_nano_embedded-4.3.0-cp38-abi3-manylinux_2_28_x86_64.whl (10.1 MB view details)

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

File details

Details for the file heliosdb_nano_embedded-4.3.0-cp38-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for heliosdb_nano_embedded-4.3.0-cp38-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 94f50bc0388dd763eac830c3ac696c8706dc71ff3e1fd4effd237d60e2bf55a6
MD5 1f93a05ef4599b784ba46b8482982568
BLAKE2b-256 5f9e599b9c3a81f38e648593962fd0aa0d0e05e49abf1b25079e5b2acc1b899f

See more details on using hashes here.

Provenance

The following attestation bundles were made for heliosdb_nano_embedded-4.3.0-cp38-abi3-manylinux_2_28_x86_64.whl:

Publisher: python-wheel.yml on HeliosDatabase/HeliosDB-Nano

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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