Skip to main content
Pre-release

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_name definitions
  • Memory — triple-shaped fact storage with semantic recall via tiferet-kb integration
  • Human-in-the-loop — per-tool requires_approval with LangGraph interrupt/resume
  • Streaming — token-by-token streaming via SendMessageStream event
  • 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)

Source distribution for tiferet-agents 1.0.0b1
File Size Uploaded Provenance
tiferet_agents-1.0.0b1.tar.gz 44.0 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for tiferet-agents 1.0.0b1
File Interpreter ABI Platform
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

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