This release is a pre-release and may not be stable for production use.
tiferet-agents
Agentic extension for the Tiferet framework — a lightweight, domain-driven wrapper around LangGraph that brings reliable, configurable agents into the Tiferet ecosystem.
Features
- YAML-driven agent configuration — define agents, tools, memory, and prompts entirely in YAML
- Multi-provider LLM support — OpenAI (default), Anthropic, and Google Generative AI via optional extras
- Tool registration — dynamically load and wire tools from
module_path.class_namedefinitions - Memory — triple-shaped fact storage with semantic recall via tiferet-kb integration
- Human-in-the-loop — per-tool
requires_approvalwith LangGraph interrupt/resume - Streaming — token-by-token streaming via
SendMessageStreamevent - Tiferet feature bridge — invoke Tiferet features as agent tools with
create_feature_tool() - Error handling & retry — exponential backoff with LLM-specific error classification
- Production checkpointers — memory, SQLite, or Postgres state persistence
Installation
pip install tiferet-agents
Optional extras
pip install tiferet-agents[anthropic] # Anthropic provider
pip install tiferet-agents[google] # Google Generative AI provider
pip install tiferet-agents[memory] # tiferet-kb memory integration
pip install tiferet-agents[sqlite] # SQLite checkpointer
pip install tiferet-agents[postgres] # Postgres checkpointer
pip install tiferet-agents[all] # All optional dependencies
Quick Start
1. Define an agent in YAML
# app/configs/agent.yml
agents:
my_assistant:
name: My Assistant
description: A helpful conversational assistant
provider: openai
model: gpt-4o-mini
system_prompt: You are a helpful assistant. Today is {current_date}.
temperature: 0.7
2. Send a message
from tiferet_agents import SendMessage
from tiferet.events import DomainEvent
result = DomainEvent.handle(
SendMessage,
dependencies={
'agent_service': agent_service,
'conversation_service': conversation_service,
'llm_provider_service': llm_provider_service,
},
agent_id='my_assistant',
message='Hello, how are you?',
)
print(result.content)
YAML Configuration Reference
agents:
<agent_id>:
name: string # Required
description: string # Optional
provider: string # Default: openai (openai|anthropic|google)
model: string # Default: gpt-4o-mini
system_prompt: string # Supports {current_date}, {current_time} variables
temperature: float # Default: 0.7
max_tokens: int # Optional
graph_type: string # Default: react
checkpointer: string # Default: memory (memory|sqlite|postgres)
checkpointer_config: # Optional checkpointer settings
db_path: string # For sqlite
max_retries: int # Default: 3
memory:
enabled: bool
namespace: string
recall_limit: int
embedding_provider: str
embedding_model: str
tools:
- id: string
name: string
module_path: string
class_name: string
requires_approval: bool
params: {}
Architecture
tiferet_agents/
├── assets/ # Error codes and constants
├── domain/ # Domain objects (AgentConfiguration, Conversation, Memory)
├── events/ # Domain events (SendMessage, CRUD, approval, tools, memory)
├── interfaces/ # Service contracts (AgentService, LLMProviderService, etc.)
├── mappers/ # Aggregates and YAML transfer objects
├── repos/ # YAML-backed service implementations
└── utils/ # GraphBuilder, LLMProviderFactory, CheckpointerFactory, etc.
See AGENTS.md for contributor orientation.
License
BSD-3-Clause
Metadata
Release files for tiferet-agents 1.0.0b1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| tiferet_agents-1.0.0b1.tar.gz | 44.0 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tiferet_agents-1.0.0b1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 108.1 kB
Release files / tiferet_agents-1.0.0b1.tar.gz
| Download URL | tiferet_agents-1.0.0b1.tar.gz |
|---|---|
| Size | 44.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c8461c7f560cba8307e0fa639a1d6054d0844c87571ee30649971670f37966b3
|
|
BLAKE2b-256 checksum How to use checksums |
dcba3a1fb8e3ee6bb1ceba16e2b82b6d23f2e8eb4374da73cb18d62256b0f45f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 19, 2026.
Transparency logRelease files / tiferet_agents-1.0.0b1-py3-none-any.whl
| Download URL | tiferet_agents-1.0.0b1-py3-none-any.whl |
|---|---|
| Size | 64.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
bc93370184df4765a24f15fc97b92efd4e11009e4e2b209f8d37d40a79ac7594
|
|
BLAKE2b-256 checksum How to use checksums |
62eb528652511106d4930d4deedc7086d858b8992c16cc89518513ed8a65d103
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 19, 2026.
Transparency logSecurity for tiferet-agents 1.0.0b1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for tiferet_agents-1.0.0b1.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 19, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.