Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

perseus-agent-core

Shared memory and tool layer for Perseus agents. Extracted from perseus-rapid-agent and perseus-qwen-memory, which previously carried copy-pasted copies of this code — the same MemoryEntry crash shipped twice because of it. Fixes now land once, here.

What's in it

  • perseus_agent_core.memory — MemoryEntry, MemorySearchResult, MemoryBackend (interface), MemoryBackendError, plus two implementations:
    • ElasticMemoryBackend — Elasticsearch via elasticsearch-py, keyword search always, ELSER semantic search when the deployment supports it.
    • EngramMemoryBackend — shells out to the engram-rs CLI; retry-on-lock, timeout handling, helpful install hint when missing.
  • perseus_agent_core.tools — DecisionLogTool, KnowledgeGraphTool, ProjectContextTool.

Agent-specific code (AgentConfig, agent classes, LLM clients, demos) stays in the consuming repos.

Install

pip install "perseus-agent-core @ git+https://github.com/tcconnally/perseus-agent-core.git"
# with the Elasticsearch backend:
pip install "perseus-agent-core[elastic] @ git+https://github.com/tcconnally/perseus-agent-core.git"

There are zero hard dependencies — the elastic client is imported lazily only when ElasticMemoryBackend is used.

Usage

from perseus_agent_core.memory import EngramMemoryBackend, MemoryEntry
from perseus_agent_core.tools import DecisionLogTool

memory = EngramMemoryBackend()
log = DecisionLogTool(memory)

Metadata

Release files for perseus-agent-core 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for perseus-agent-core 0.2.0
File Interpreter ABI Platform
perseus_agent_core-0.2.0-py3-none-any.whl Python 3 none any Details

Release files / perseus_agent_core-0.2.0-py3-none-any.whl

Download URL perseus_agent_core-0.2.0-py3-none-any.whl
Size 17.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
97cdc125dc432a38559ce90aa2572d099cedb177f6f505596bcc696e5122fb2b
BLAKE2b-256 checksum
How to use checksums
b34394717d8a502a3dba84674c579400a156462b9053935bbacdfc6abc3890aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.13

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page