Skip to main content

Reasoning memory layer for AI agents — Python SDK

Project description

remem Python SDK

PyPI version Python 3.11+ License

The official Python SDK for remem — the reasoning memory layer for AI agents.

Remem provides a persistent, queryable memory system that uses LLM-powered reasoning for importance scoring, contradiction detection, knowledge graph construction, and session consolidation. This SDK offers a strongly-typed, fully asynchronous interface over the remem REST API using httpx and pydantic.

Key Features

  • Fully Asynchronous: Built natively on asyncio and httpx.
  • Type-Safe Models: Robust validation and autocompletion powered by Pydantic.
  • LLM-Powered Reasoning: Effortlessly invoke semantic recall, importance scoring, and consolidation.
  • Knowledge Graph: Native support for storing and querying relationship triples.

Installation

Install the package via pip or your preferred package manager (e.g., uv, poetry):

pip install rememhq

Quick Start

1. Start the remem API Server

Before using the SDK, start the rememhq-api server from the remem repository root:

cargo run -p rememhq-api -- --project default

By default, the server listens on http://localhost:7474.

2. Initialize the Client

import asyncio
from rememhq import Memory

async def main():
    # Initialize the memory client
    memory = Memory(
        base_url="http://localhost:7474",
        project="my-agent",
        reasoning_model="claude-sonnet-4-6"  # Configure the underlying reasoning engine
    )

    # Store a memory
    store_resp = await memory.store(
        content="The user prefers Python for ML tasks.",
        tags=["preferences", "ml"]
    )
    print(f"Stored memory ID: {store_resp.id}")

    # Recall memories using semantic reasoning
    results = await memory.recall(query="What language does the user prefer for machine learning?", limit=5)
    
    for result in results:
        print(f"Content: {result.content}")
        print(f"Reasoning trace: {result.reasoning}")

if __name__ == "__main__":
    asyncio.run(main())

Configuration Options

You can configure the SDK using constructor parameters or environment variables:

memory = Memory(
    base_url="http://localhost:7474",
    project="my-agent",
    reasoning_model="gpt-4o",
    timeout=30.0
)

Environment Variables:

  • REMEM_API_URL — API server URL (default: http://localhost:7474)
  • REMEM_PROJECT — Target project namespace (default: default)
  • REMEM_REASONING_MODEL — Reasoning model (default: claude-sonnet-4-6)
  • REMEM_TIMEOUT — Request timeout in seconds (default: 30)

API Reference

Memory Methods

  • store(content: str, tags: list[str] = None, importance: float = None) -> StoreResponse: Store a new memory.
  • recall(query: str, limit: int = 8) -> list[RecallResult]: Retrieve contextually relevant memories utilizing LLM evaluation.
  • search(query: str, limit: int = 10) -> list[SearchResult]: Execute rapid full-text/vector search.
  • update(memory_id: str, content: str) -> UpdateResponse: Modify existing memory content.
  • forget(memory_id: str) -> ForgetResponse: Delete a specific memory item.
  • consolidate(session_id: str) -> ConsolidateResponse: Transform short-term session logs into long-term durable facts.

Development

To develop the SDK locally:

cd sdk/python

# Install dependencies (requires Python 3.11+)
pip install -e ".[dev]"

# Run tests
pytest tests/ -v

# Format and Lint
black rememhq/ tests/
ruff check rememhq/ tests/

Contributing

We welcome contributions! Please review our Contributing Guide for details on submitting pull requests, reporting issues, and suggesting enhancements.

License

This project is licensed under the Apache License 2.0. See the LICENSE file for more details.

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

rememhq-0.1.11.tar.gz (6.6 kB view details)

Uploaded Source

Built Distribution

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

rememhq-0.1.11-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file rememhq-0.1.11.tar.gz.

File metadata

  • Download URL: rememhq-0.1.11.tar.gz
  • Upload date:
  • Size: 6.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rememhq-0.1.11.tar.gz
Algorithm Hash digest
SHA256 27afa579279b8b95807a5e7f882ca0fd90c295080dbe8d3cf53c64376f698ee9
MD5 7e7023ff06d5ce7d5c3950e670ee2181
BLAKE2b-256 5547f6febe426a8a67fe81c9e43a2374ec7ef1693d0c8b11b4ec6eb11f0cb106

See more details on using hashes here.

Provenance

The following attestation bundles were made for rememhq-0.1.11.tar.gz:

Publisher: publish.yml on remem-io/remem

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

File details

Details for the file rememhq-0.1.11-py3-none-any.whl.

File metadata

  • Download URL: rememhq-0.1.11-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for rememhq-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 780f4ac759881cf6d5295e98eb7c524ba5b5f4cf2b70d8f6ad55c49e83d493f8
MD5 15cc16f60ae0925e45f8a9e405a96ed5
BLAKE2b-256 df2595e97324fd5d1659f7e521ee223b104adf2d61b305c75b31b2c05a3bfcab

See more details on using hashes here.

Provenance

The following attestation bundles were made for rememhq-0.1.11-py3-none-any.whl:

Publisher: publish.yml on remem-io/remem

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