Skip to main content

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_bytes evita 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

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

Built Distributions

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

vantadb_py-0.1.2-cp38-abi3-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.8+Windows x86-64

vantadb_py-0.1.2-cp38-abi3-manylinux_2_38_x86_64.whl (4.7 MB view details)

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

vantadb_py-0.1.2-cp38-abi3-macosx_11_0_arm64.whl (3.6 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

File details

Details for the file vantadb_py-0.1.2-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: vantadb_py-0.1.2-cp38-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.4 MB
  • Tags: CPython 3.8+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vantadb_py-0.1.2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b16d521f8ea69a5d7afdd5e7beef302a0903cdaf53820699ecdc490327357cf0
MD5 890c2840e8a36c74d19cadee10d44a72
BLAKE2b-256 63fc2f5e6a167a3e17acd80f258d0224557cc8d3abf3be2277d0377d1eed2217

See more details on using hashes here.

Provenance

The following attestation bundles were made for vantadb_py-0.1.2-cp38-abi3-win_amd64.whl:

Publisher: python_wheels.yml on ness-e/Vantadb

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

File details

Details for the file vantadb_py-0.1.2-cp38-abi3-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for vantadb_py-0.1.2-cp38-abi3-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 a1e73b565f8096c0e58059986be55d13adc63787cf1c63f03f488b3e62136aa7
MD5 b12d827fab65c41774e2522d0991977b
BLAKE2b-256 1c756e8e3917e5822e3f976f5abbc9805ec4d436dc57ff37e6662717136d1011

See more details on using hashes here.

Provenance

The following attestation bundles were made for vantadb_py-0.1.2-cp38-abi3-manylinux_2_38_x86_64.whl:

Publisher: python_wheels.yml on ness-e/Vantadb

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

File details

Details for the file vantadb_py-0.1.2-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vantadb_py-0.1.2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 59f8a629980aff7489e04a93bf1b13c2b6636bcd682dca8006c878dbddb29efb
MD5 0b8663752aa32772ea1e04256aef9a1f
BLAKE2b-256 0491c60495c1d4aaa42b673d841c4db48fbf80003e45fc39f6667bacee59d99e

See more details on using hashes here.

Provenance

The following attestation bundles were made for vantadb_py-0.1.2-cp38-abi3-macosx_11_0_arm64.whl:

Publisher: python_wheels.yml on ness-e/Vantadb

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 Pingdom Monitoring Sentry Error logging StatusPage Status page