Skip to main content

Python SDK - Client

Simple usage

No configuration required for local development.
from solvec import SolVec

sv = SolVec()
col = sv.collection("agent-memory", dimensions=1536)

Full Phase 6 configuration

from solvec import SolVec, SolanaConfig, EncryptionConfig, ShadowDriveConfig

sv = SolVec(
    solana=SolanaConfig(
        enabled=True,
        network="devnet",          # "devnet" | "mainnet-beta" | "localnet"
        program_id="8xjQ2XrdhR4JkGAdTEB7i34DBkbrLRkcgchKjN1Vn5nP",
        keypair="~/.config/solana/id.json",
        async_post=True,           # fire-and-forget Merkle root posts
    ),
    encryption=EncryptionConfig(
        enabled=True,
        passphrase="my-secret-passphrase",
    ),
    shadow_drive=ShadowDriveConfig(
        enabled=True,
        keypair="~/.config/solana/id.json",
        snapshot_interval=10,      # persist to Shadow Drive every N writes
        delta_only=False,
    ),
)

Backward-compatible usage

The legacy network= keyword argument is still accepted for projects that have not yet migrated to the new config API.
from solvec import SolVec

# These still work
sv = SolVec(network="devnet")
sv = SolVec(network="mainnet-beta", wallet_path="~/.config/solana/id.json")

Using environment variables

import os
from solvec import SolVec, SolanaConfig

sv = SolVec(
    solana=SolanaConfig(
        enabled=True,
        network=os.environ.get("VECLABS_NETWORK", "devnet"),
        keypair=os.environ.get("VECLABS_KEYPAIR_PATH"),
    )
)

Memory Inspector

Every collection exposes a MemoryInspector via collection.inspector().
col = sv.collection("agent-memory", dimensions=1536)
insp = col.inspector()

# Aggregate stats
stats = insp.stats()
print(f"Stored {stats.total_memories} memories")
print(f"Current Merkle root: {stats.merkle_root}")

# Browse records
result = insp.inspect()
for mem in result.memories:
    print(mem.id, mem.written_at, mem.metadata)

# Full audit trail
for entry in insp.merkle_history():
    print(entry.trigger, entry.root)
See the API reference for all six inspector methods.