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.5-cp311-abi3-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.11+Windows x86-64

vantadb_py-0.1.5-cp311-abi3-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ x86-64

vantadb_py-0.1.5-cp311-abi3-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

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

Hashes for vantadb_py-0.1.5-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 46aed53e64bd0583b66155be966147b043f923b54db63f624a6b0c847502214c
MD5 ff5f1d89baf97ff5a730410a868a4685
BLAKE2b-256 c6c43d6b91684229c3187daa01bd9a51b2ef3090bb53652b7fdc314a53ed37f2

See more details on using hashes here.

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

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.5-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for vantadb_py-0.1.5-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f2974fcb0ce204a15ecec22cfb22291114b8954984b7f8e241ae1a3a4c6a776a
MD5 85300b52a9ec9f76d1f844a3e5e1895e
BLAKE2b-256 68b444ecc39c0e1bcbeee96221cb565e8b7c160d889002234ee725516033318e

See more details on using hashes here.

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

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.5-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for vantadb_py-0.1.5-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 da7b2dd4fc3b5bab5bb3e0185dd294dbb32c8d9776cc8523615c4bae288868e2
MD5 fc75a4d9a3e5dcab65dc7190e9f23ff2
BLAKE2b-256 24d5d0cf67f8689558fd2bf70d46f6bb7c015e633abff8e9d5894ce48b9f87f3

See more details on using hashes here.

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

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