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.13.1-cp38-abi3-manylinux_2_28_x86_64.whl (10.2 MB view details)

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

File details

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

File metadata

File hashes

Hashes for heliosdb_nano_embedded-4.13.1-cp38-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2dd098e0d80573388b20db12078e1c2b2426ada99f6d4b9c49e2d47af0ea2e14
MD5 45e3969f6c0441cfb3b1605bc08a4225
BLAKE2b-256 6e2ec46531db474d068439ec2449f609e3a2cc7be73333d6016394c21551db71

See more details on using hashes here.

Provenance

The following attestation bundles were made for heliosdb_nano_embedded-4.13.1-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