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

Uploaded CPython 3.8+Windows x86-64

vantadb_py-0.1.4-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.4-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.4-cp38-abi3-win_amd64.whl.

File metadata

  • Download URL: vantadb_py-0.1.4-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.4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 7c59526f58752aca92d767552567d6f3cb56e8a79c55dbd9f9e4da5ff0d92a10
MD5 911123dfcf80fb1ae6eae271a42d2ac6
BLAKE2b-256 81ef981d5e225d2af25db65f516eae8e40cb681cd71e9da03723dd8750186bca

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for vantadb_py-0.1.4-cp38-abi3-manylinux_2_38_x86_64.whl
Algorithm Hash digest
SHA256 7e7125c88d8f9402e75d1482c3191f54adea792f05d5d283bbe938671ad604d8
MD5 77600fbecac16e38cd144815389e99d7
BLAKE2b-256 ac5b55600039f780aca34f16c0d30d7dbaf0f4fe55843c9ffeb4152e2254b71f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for vantadb_py-0.1.4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d3b34933fafcd31303680026ea531d3b4984ee107735f887d64769c10b66433e
MD5 5344c4862f44f05b4b09097d87629630
BLAKE2b-256 fdc8530cf0807e9b2808515511ba117410b2bd99a71cbbf6486910098ad989e5

See more details on using hashes here.

Provenance

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