Source-installed Python bindings for the VantaDB embedded persistent memory engine.
Project description
🐍 VantaDB Python SDK
Bindings oficiales de Python para VantaDB, un motor de base de datos embebido y nativo en Rust diseñado para memoria persistente y recuperación vectorial en aplicaciones de IA local-first.
📦 Instalación
Desde TestPyPI (Recomendado para pruebas)
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ vantadb-py
Desde el código fuente (Desarrollo)
Requiere Rust y Maturin instalados.
# Clonar el repositorio
git clone https://github.com/ness-e/Vantadb.git
cd Vantadb/vantadb-python
# Compilar e instalar en el entorno virtual activo
pip install maturin
maturin develop --release
🚀 Quickstart
import vantadb_py as vdb
# 1. Abrir o crear una base de datos embebida
db = vdb.VantaDB("./my_agent_memory", memory_limit_bytes=128 * 1024 * 1024)
# 2. Almacenar memoria persistente (payload + vector + metadatos)
db.put_memory(
namespace="agent/session_1",
key="fact_001",
payload="El usuario prefiere respuestas técnicas y directas.",
metadata={"source": "chat", "priority": "high"},
vector=[0.1, 0.2, 0.3, 0.4] # Vector denso (ej. embedding de un modelo local)
)
# 3. Recuperar memoria exacta
record = db.get_memory("agent/session_1", "fact_001")
print(record["payload"])
# 4. Búsqueda híbrida (Vectorial + Léxica)
# Nota: Requiere un vector de consulta del mismo tamaño que los almacenados
query_vector = [0.15, 0.25, 0.35, 0.45]
results = db.search_hybrid(
namespace="agent/session_1",
query_vector=query_vector,
query_text="preferencias usuario",
top_k=5
)
for hit in results:
print(f"Key: {hit['key']}, Score: {hit['score']:.4f}")
# 5. Monitoreo de recursos (Crítico para agentes locales)
stats = db.memory_stats()
print(f"Uso lógico: {stats['logical_bytes'] / 1024:.2f} KB")
print(f"RSS físico: {stats['physical_rss'] / 1024:.2f} KB")
# 6. Cierre seguro
db.close()
🤖 Caso de Uso: Memoria para Agentes de IA
VantaDB está optimizado para actuar como memoria a largo plazo para agentes autónomos locales (Claude, Gemini, LLaMA, etc.):
- Persistencia Zero-Copy: Los datos sobreviven a reinicios del agente sin overhead de serialización.
- Búsqueda Híbrida RRF: Combina similitud semántica (vectores) con coincidencia léxica (BM25) para recuperación precisa de contexto.
- Control de Memoria Explícito:
memory_limit_bytesevita que el agente colapse la RAM del dispositivo host. - Embebido: Sin servidores externos, sin Docker, sin latencia de red. Ideal para dispositivos edge y offline.
🛠️ Desarrollo y Testing
# Ejecutar la suite de tests del SDK
pytest tests/test_sdk.py -v
# Formatear código Python
black tests/ vantadb_python/
📜 Licencia
Distribuido bajo la licencia del proyecto principal VantaDB. Consulta el LICENSE en la raíz del repositorio.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vantadb_py-0.1.5-cp311-abi3-win_amd64.whl.
File metadata
- Download URL: vantadb_py-0.1.5-cp311-abi3-win_amd64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46aed53e64bd0583b66155be966147b043f923b54db63f624a6b0c847502214c
|
|
| MD5 |
ff5f1d89baf97ff5a730410a868a4685
|
|
| BLAKE2b-256 |
c6c43d6b91684229c3187daa01bd9a51b2ef3090bb53652b7fdc314a53ed37f2
|
Provenance
The following attestation bundles were made for vantadb_py-0.1.5-cp311-abi3-win_amd64.whl:
Publisher:
python_wheels.yml on ness-e/Vantadb
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vantadb_py-0.1.5-cp311-abi3-win_amd64.whl -
Subject digest:
46aed53e64bd0583b66155be966147b043f923b54db63f624a6b0c847502214c - Sigstore transparency entry: 1908171846
- Sigstore integration time:
-
Permalink:
ness-e/Vantadb@b694400ca4a2aa1fc2d038855bc68fe5809457ca -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/ness-e
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python_wheels.yml@b694400ca4a2aa1fc2d038855bc68fe5809457ca -
Trigger Event:
push
-
Statement type:
File details
Details for the file vantadb_py-0.1.5-cp311-abi3-manylinux_2_28_x86_64.whl.
File metadata
- Download URL: vantadb_py-0.1.5-cp311-abi3-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.11+, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2974fcb0ce204a15ecec22cfb22291114b8954984b7f8e241ae1a3a4c6a776a
|
|
| MD5 |
85300b52a9ec9f76d1f844a3e5e1895e
|
|
| BLAKE2b-256 |
68b444ecc39c0e1bcbeee96221cb565e8b7c160d889002234ee725516033318e
|
Provenance
The following attestation bundles were made for vantadb_py-0.1.5-cp311-abi3-manylinux_2_28_x86_64.whl:
Publisher:
python_wheels.yml on ness-e/Vantadb
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vantadb_py-0.1.5-cp311-abi3-manylinux_2_28_x86_64.whl -
Subject digest:
f2974fcb0ce204a15ecec22cfb22291114b8954984b7f8e241ae1a3a4c6a776a - Sigstore transparency entry: 1908171974
- Sigstore integration time:
-
Permalink:
ness-e/Vantadb@b694400ca4a2aa1fc2d038855bc68fe5809457ca -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/ness-e
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python_wheels.yml@b694400ca4a2aa1fc2d038855bc68fe5809457ca -
Trigger Event:
push
-
Statement type:
File details
Details for the file vantadb_py-0.1.5-cp311-abi3-macosx_11_0_arm64.whl.
File metadata
- Download URL: vantadb_py-0.1.5-cp311-abi3-macosx_11_0_arm64.whl
- Upload date:
- Size: 1.5 MB
- Tags: CPython 3.11+, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da7b2dd4fc3b5bab5bb3e0185dd294dbb32c8d9776cc8523615c4bae288868e2
|
|
| MD5 |
fc75a4d9a3e5dcab65dc7190e9f23ff2
|
|
| BLAKE2b-256 |
24d5d0cf67f8689558fd2bf70d46f6bb7c015e633abff8e9d5894ce48b9f87f3
|
Provenance
The following attestation bundles were made for vantadb_py-0.1.5-cp311-abi3-macosx_11_0_arm64.whl:
Publisher:
python_wheels.yml on ness-e/Vantadb
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
vantadb_py-0.1.5-cp311-abi3-macosx_11_0_arm64.whl -
Subject digest:
da7b2dd4fc3b5bab5bb3e0185dd294dbb32c8d9776cc8523615c4bae288868e2 - Sigstore transparency entry: 1908172095
- Sigstore integration time:
-
Permalink:
ness-e/Vantadb@b694400ca4a2aa1fc2d038855bc68fe5809457ca -
Branch / Tag:
refs/tags/v0.1.5 - Owner: https://github.com/ness-e
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python_wheels.yml@b694400ca4a2aa1fc2d038855bc68fe5809457ca -
Trigger Event:
push
-
Statement type: