Skip to main content

Postgres + pgvector-backed MemoryStore and VectorStore for AgentForge

Project description

agentforge-memory-postgres

Postgres + pgvector-backed MemoryStore and VectorStore for the AgentForge framework.

What this is

Sister package to agentforge-memory-sqlite. Same locked contracts, same conformance suites — but backed by Postgres with asyncpg for real-world scale, multi-writer concurrency, and managed-database guarantees (RDS, Neon, Supabase, etc.).

  • PostgresMemoryStore — claim audit log over a single claims table with composite indices on common filter combinations (project, agent, run_id, category).
  • PostgresVectorStore — semantic search over a vectors table with a pgvector HNSW index (vector_cosine_ops). Cosine distance is converted to clamped [0, 1] similarity at the SQL boundary per the locked VectorStore contract.

Both pass agentforge_core.testing.run_memory_conformance and run_vector_conformance against a real Postgres (gated on RUN_LIVE_POSTGRES=1 in CI; always on locally via docker compose).

Usage

from agentforge_memory_postgres import PostgresMemoryStore, PostgresVectorStore

dsn = "postgresql://postgres:postgres@localhost:5432/agentforge"

async with PostgresMemoryStore.from_dsn(dsn) as memory:
    await memory.init_schema()                # idempotent
    ...

async with PostgresVectorStore.from_dsn(dsn, dimensions=1024) as vectors:
    await vectors.init_schema()               # provisions HNSW index
    ...

init_schema() is opt-in (idempotent CREATE TABLE / EXTENSION / INDEX IF NOT EXISTS). Skip it for read-only workloads or when the schema is managed externally; required before first write for full correctness.

Local development

docker compose -f docker-compose.dev.yml up -d
RUN_LIVE_POSTGRES=1 \
  POSTGRES_URL=postgresql://postgres:postgres@localhost:5432/agentforge \
  uv run pytest packages/agentforge-memory-postgres/tests/integration -v

The compose file ships pgvector/pgvector:pg16, which bundles Postgres 16 with the pgvector extension preinstalled.

Capabilities

  • Memory: {"transactions"} — every put / supersede runs inside an asyncpg transaction.
  • Vector: {"native_ann"} is declared only after init_schema() provisions the HNSW index. Without bootstrap the driver still works (sequential cosine scan), but it doesn't claim ANN — the capability vocabulary is honest per ADR-0009.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

agentforge_memory_postgres-0.3.1.tar.gz (22.5 kB view details)

Uploaded Source

Built Distribution

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

agentforge_memory_postgres-0.3.1-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

Details for the file agentforge_memory_postgres-0.3.1.tar.gz.

File metadata

File hashes

Hashes for agentforge_memory_postgres-0.3.1.tar.gz
Algorithm Hash digest
SHA256 9958ac35ee3fcacb37a4b8a91d62d34fcf0bcb5d9cb20949838a661da8429d55
MD5 621557578be22a7afa5bc15b9d87c93d
BLAKE2b-256 9cb1a868e1472bfaa200fc177739ad866fdc8a9a040408c1cd6841220ef67bb9

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentforge_memory_postgres-0.3.1.tar.gz:

Publisher: release.yml on Scaffoldic/agentforge-py

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

File details

Details for the file agentforge_memory_postgres-0.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for agentforge_memory_postgres-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 327b7e2aad89bad32aac5795418a7579b229743cbbd9416e863251c08d36ad6b
MD5 067c5ecbd38be570302fac443bde12a1
BLAKE2b-256 c0886b2fc61e9e7e45fee43ab640e135ce8863c22e21572fa243027ee1a86840

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentforge_memory_postgres-0.3.1-py3-none-any.whl:

Publisher: release.yml on Scaffoldic/agentforge-py

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