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 viaelasticsearch-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)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|