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.4.0.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.4.0-py3-none-any.whl (20.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for agentforge_memory_postgres-0.4.0.tar.gz
Algorithm Hash digest
SHA256 2b004c4479f3eddabbec9d0c44d284973d124cf179d6252324b1b95e4798fc53
MD5 92f35657190c6a39b17f174410cbefc3
BLAKE2b-256 26f59a6d5df239c283fb24ab569ffa9dbe74bf40af8473c35d30c5141705b755

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentforge_memory_postgres-0.4.0.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.4.0-py3-none-any.whl.

File metadata

File hashes

Hashes for agentforge_memory_postgres-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b17955e676cdab5157d3324ae63895946c0ed140f1c481f7740c51181f269f82
MD5 6c40746fa025afdb1e6e7c2a8b2cd65a
BLAKE2b-256 fe01a1c2cb1a87f6ad81f74c8a68dc45751cfb35020442e79ec187ba54ce8e6b

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentforge_memory_postgres-0.4.0-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