Skip to main content

Framework-agnostic AI agent library for building single and multi-agent systems

Project description

Agentify

Production-ready AI agent library built on the OpenAI SDK

Build and orchestrate AI agents—from simple assistants to complex multi-agent systems. Agentify targets the OpenAI-compatible Chat Completions interface, enabling seamless switching between providers (OpenAI, Azure, DeepSeek, Gemini, Anthropic, Llama, Local LLMs) without code changes.


Why Agentify?

Feature Benefit
Production-first Clear abstractions, explicit config, robust error handling
Multi-provider Switch providers with one line—no agent code changes
Orchestration primitives Uniform run()/arun() across agents, teams, pipelines, hierarchies
Async-native Non-blocking I/O, parallel tool execution, event-loop friendly
Pluggable memory In-memory, SQLite, Redis, Elasticsearch—same API
Local LLMs Support for LM Studio, Ollama and custom local servers

Key Features

  • Single agents & multi-agent patterns
    Agents with tools and memory • Supervisor–worker Teams • Sequential Pipelines • Hierarchical delegation • Dynamic routing

  • Memory system
    Pluggable backends with policies (TTL, message limits, pruning) • Memory isolation per conversation • Async-safe operations

  • Reasoning models
    Configurable thinking depth (reasoning_effort) • Chain-of-thought storage • Real-time reasoning logs

  • Tools
    @tool decorator with automatic JSON Schema • Type-annotated interface • Argument validation

  • Async & parallel execution
    Native arun() for async apps • run() bridge for sync apps • Parallel tool calls

  • Observability
    Callback hooks for logging, monitoring, debugging

  • Multimodal
    Vision/image support • Streaming responses


Installation

pip install agentify-core

Optional backends:

pip install agentify-core[redis]      # Redis memory store
pip install agentify-core[elastic]    # Elasticsearch store
pip install agentify-core[all]        # All optional dependencies

Quick Start

from agentify import BaseAgent, AgentConfig, MemoryService, MemoryAddress, tool
from agentify.memory.stores import InMemoryStore

@tool
def get_time() -> dict:
    """Returns the current time."""
    from datetime import datetime
    return {"time": datetime.now().strftime("%H:%M:%S")}

# Setup
memory = MemoryService(store=InMemoryStore())
addr = MemoryAddress(conversation_id="session_1")

agent = BaseAgent(
    config=AgentConfig(
        name="Assistant",
        system_prompt="You are a helpful assistant.",
        provider="provider",
        model_name="model",
        reasoning_effort="high",  # optional param:"low", "medium", "high"
        model_kwargs={"max_completion_tokens": 5000}, # Pass model-specific params       
        verbose=True, # Controls logging
    ),
    memory=memory,
    memory_address=addr,
    tools=[get_time],
)

response = agent.run("What time is it?")
print(response)

# Async usage is also available:
# response = await agent.arun("What time is it?")

Memory Backends

from agentify.memory.stores import InMemoryStore
from agentify.memory.stores.sqlite_store import SQLiteStore
from agentify.memory.stores.redis_store import RedisStore

# In-memory (default, for development)
store = InMemoryStore()

# SQLite (persistent, zero-config)
store = SQLiteStore(db_path="./agent.db")

# Redis (production, distributed)
store = RedisStore(url="redis://localhost:6379/0")

Composable Flows

All primitives share the same run()/arun() interface:

  • BaseAgent — Single agent with tools
  • Team — Supervisor routes to worker agents
  • SequentialPipeline — Output flows step-to-step
  • HierarchicalTeam — Tree structures for delegation

Nest freely: Teams of Pipelines, Pipelines of Teams, dynamic routing at runtime.


Links


License

MIT License

Author

Fabian Melchorfabianmp_98@hotmail.com

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

agentify_core-0.4.0.tar.gz (52.0 kB view details)

Uploaded Source

Built Distribution

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

agentify_core-0.4.0-py3-none-any.whl (55.4 kB view details)

Uploaded Python 3

File details

Details for the file agentify_core-0.4.0.tar.gz.

File metadata

  • Download URL: agentify_core-0.4.0.tar.gz
  • Upload date:
  • Size: 52.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for agentify_core-0.4.0.tar.gz
Algorithm Hash digest
SHA256 0c4480aeb492e46b5b6249ffba98123db6213e308c50d48375a4e0a3d31c788d
MD5 cbec40e93bfdaef2d525ef530fb73bae
BLAKE2b-256 afc33bd51dcd6a41960cb729cb590e1b71e8e9378de6e769e7b53a5170aee8e4

See more details on using hashes here.

File details

Details for the file agentify_core-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: agentify_core-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 55.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for agentify_core-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9052cb67e6844688a676259421e7658708586482926bc2ba25e8dc5a26dc3f2e
MD5 5397cfbe0cedf9e6553851e6f9b81716
BLAKE2b-256 10cdd9b124d990faf6c4f3ed10ccb6da1baf5e6d6496b828951095c8bf37899e

See more details on using hashes here.

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