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.3-cp38-abi3-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.8+Windows x86-64

vantadb_py-0.1.3-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.3-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.3-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: vantadb_py-0.1.3-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.3-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 cbedba97929104e38920f25e7ef11b5af2e5e78d28bdb46d068f0191650e5fb3
MD5 a6d7e4e39049c05de6ba569ff62447ae
BLAKE2b-256 d843089bd9374611a95a4fcfd1f47da18ef239cd51f6b71193881c8fda1c1f9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for vantadb_py-0.1.3-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.3-cp38-abi3-manylinux_2_38_x86_64.whl.

File metadata

File hashes

Hashes for vantadb_py-0.1.3-cp38-abi3-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 389e6b589dcd4de6215677406a5ef03932a9d67d47b198e872fd6ef54361eef7
MD5 5834bebc46b1eac92babb2ece4f04df0
BLAKE2b-256 20e5bacde3950e27addbda1ae5be50c79e69bbb52921635fcf58f6aa02cc62ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for vantadb_py-0.1.3-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.3-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vantadb_py-0.1.3-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f84fc960c7486acbd5a564f0441b77644d7c8cdffe6b968187d8e8a2f10d0834
MD5 38507cb5cc4f493fb6c5ebec9c411c3e
BLAKE2b-256 bc68b5a71fa3cdcf4bcfa850316d684bbca0316a517d4e698d809129e4535c90

See more details on using hashes here.

Provenance

The following attestation bundles were made for vantadb_py-0.1.3-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