MoteDB Python Bindings
Embedded multimodal database for Python — SQL + vector search + full-text search + spatial in one engine, with edge-presets for memory-constrained devices.
Install (from source)
pip install maturin
cd bindings/python
maturin develop --release
# no maturin / offline? scripts/build_wheel.sh builds a wheel with cargo+zip
Quick start
import motedb
db = motedb.Database("/data/store.mote", preset="edge") # general|edge|robotics|embodied
db.execute("CREATE TABLE IF NOT EXISTS docs (id INT PRIMARY KEY AUTO_INCREMENT, text TEXT, emb VECTOR(384))")
db.execute("INSERT INTO docs (text, emb) VALUES (?, ?)", params=["hello world", [0.1] * 384])
rows = db.execute("SELECT id, text FROM docs WHERE text MATCH AGAINST('hello')") # list[dict]
cols, tuples = db.query("SELECT id, text FROM docs") # (columns, list[tuple])
# Vector ANN — literal or parameter vectors both order correctly:
near = db.execute("SELECT id FROM docs ORDER BY emb <-> ? LIMIT 5", params=[[0.1] * 384])
tx = db.begin()
db.execute("UPDATE docs SET text = ? WHERE id = 1", params=["hi"])
db.rollback(tx) # or db.commit(tx)
db.checkpoint() # durability point
db.close()
API
| Method | Notes |
|---|---|
Database(path, preset=None, create=True) |
create-or-open |
execute(sql, params=None) |
SELECT → list[dict]; DML → affected count; DDL → None |
query(sql, params=None) |
SELECT → (columns, list[tuple]) |
executemany(sql, params) |
one INSERT per parameter set — single WAL fsync per batch |
begin()/commit(tx)/rollback(tx) |
transactions |
doctor() |
self-check → {"verdict", "checks": [{name,status,detail}]} |
checkpoint()/vacuum()/close() |
lifecycle |
Parameter types: None/bool/int/float/str/list[float] (→ embedding vector),
and geometry dicts for GEOMETRY columns:
{"type": "Point3D", "x": 1.0, "y": -2.0, "z": 0.5},
{"type": "Point", "x": 1.0, "y": -2.0},
{"type": "LineString"|"Polygon", "points": [[x, y], ...]}.
Result types: None/bool/int/float/str/list[float] (vector), timestamp as
int microseconds, geometry as the same dict shapes (tensor still renders as
a <tensor> tag).
Benchmark
bench/bench_edge.py — reproducible edge-workload comparison vs stdlib
SQLite (see bench/README.md for methodology and reference numbers: point
2.9×, filter 3.7×, GROUP BY 9.8×, ANN 3.2×, RSS −12%; honest loss on batch
insert).
Publishing
Wheels for 4 targets are built by .github/workflows/python-wheels.yml on
tag push; PyPI publishing uses Trusted Publisher (register the repo at
pypi.org → no token secret needed).
Known gaps (pre-1.0)
- Tensor/Spatial/TextDoc values pass through as tags, not Python objects.
Metadata
Release files for motedb-python 0.12.9
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| motedb_python-0.12.9.tar.gz | 2.1 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| motedb_python-0.12.9-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| motedb_python-0.12.9-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| motedb_python-0.12.9-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| motedb_python-0.12.9-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
| motedb_python-0.12.9-cp39-abi3-macosx_10_12_x86_64.whl | CPython 3.9 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 21.4 MB
Release files / motedb_python-0.12.9.tar.gz
| Download URL | motedb_python-0.12.9.tar.gz |
|---|---|
| Size | 2.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b373039f3c33c305ea61ba0b2742b0f1e98be3a88940daf6c2c42f3c806a1429
|
|
BLAKE2b-256 checksum How to use checksums |
31d5c4024ea912139ee09804ad2b3b0e435bff02c148afb7deb404f5e4dfd737
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / motedb_python-0.12.9-cp39-abi3-win_amd64.whl
| Download URL | motedb_python-0.12.9-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 3.6 MB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
f39d7c0d7f5165d3440c6242b67ce5d38197302f5375ff1500abe4291106a27f
|
|
BLAKE2b-256 checksum How to use checksums |
b72bb355c84d7f19596fb42c32d18a7ee66f61bf53ca6e06ff53d23a6662e14f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / motedb_python-0.12.9-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | motedb_python-0.12.9-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 4.1 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
c856413d97e7ccabcb191717f53b4af1205d21247f7275dd75f10e7c622333ef
|
|
BLAKE2b-256 checksum How to use checksums |
e993318bd196760dfdc957f9eeb20c6eb0c169459b8fbc223bdf78e2b597c739
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / motedb_python-0.12.9-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | motedb_python-0.12.9-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 3.9 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
536c39c1a87b080661a6f37fb9b6616975bd0674aa3b715876811b9c7140b4ad
|
|
BLAKE2b-256 checksum How to use checksums |
ae87fd107f1f6158cb2ec8aa5d943ac3b3268a7624fe5fdbe4c4ca606d386991
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / motedb_python-0.12.9-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | motedb_python-0.12.9-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 3.7 MB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
da8ceb2c9fd5380526c8ef959e26403fd1cdff06fbdea819c2ec594b263b0dfc
|
|
BLAKE2b-256 checksum How to use checksums |
345825bee8cf8555ace4e86a1d35681b3f977502b2fa51d2b60ea2dad499b383
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency logRelease files / motedb_python-0.12.9-cp39-abi3-macosx_10_12_x86_64.whl
| Download URL | motedb_python-0.12.9-cp39-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.9 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
5f87db4fb4407c842334e9ca78201f17c0e9b87ac75da1ca16ef295b1d814f40
|
|
BLAKE2b-256 checksum How to use checksums |
d7d2cbf32748128287288dc51790357cbbf665d917570b6732056b42b4578c70
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.
Transparency log