Skip to main content

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

Project description

Agentify

Independent AI agent library based on the OpenAI SDK

Agentify is a Python library for building and orchestrating AI agents, from simple assistants to complex multi-agent systems. It targets the OpenAI-compatible Chat Completions interface, enabling support for multiple providers through a configurable base_url (OpenAI, Azure OpenAI, DeepSeek, Gemini, etc.). Agentify offers a streamlined, independent set of primitives for memory, tools, and coordination so you can focus on product logic without being tied to heavy frameworks.

Why Agentify?

  • Built for production: clear abstractions, explicit configuration, error handling and extension points that map well to real deployments.
  • Orchestration-first design: a uniform run() interface for agents, teams, pipelines and hierarchies makes it straightforward to compose and refactor flows.
  • Providers: switch between OpenAI, Gemini, Azure OpenAI, DeepSeek, Claude and others without changing your agent code.

Key Features

  • Agents and multi-agent patterns
    Single Agents with tools and memory, supervisor–worker Multi-Agent Teams, Sequential Pipelines where output flows from step to step, Hierarchical Structures for complex delegation, and Dynamic Flows where a controller decides at runtime which sub-agents or teams to invoke.

  • Memory service and isolation
    Pluggable backends (in-memory, Redis, …) with per-use-case policies (TTL, maximum messages, etc.), plus optional memory isolation so each agent can maintain its own conversation history for scalability and privacy.

  • Reasoning Models
    Configure the model's thinking depth, safely merge model_kwargs, automatically store "Chain of Thought" in conversation history, and log reasoning steps in real-time for visibility.

  • Tools and actions
    Simple @tool decorator for creating tools from functions with automatic JSON Schema generation, or type-annotated tool interface for custom implementations.

  • Observability hooks
    Callback system for logging, monitoring and debugging agent behaviour across complex flows.

  • I/O capabilities
    Streaming support for real-time responses and vision/image models for multimodal interactions.

  • Async & Parallel Execution
    Built-in async/await support (arun()) for all agents and flows. Automatically executes independent tool calls in parallel (e.g., fetching data from 3 APIs simultaneously), significantly reducing latency.

Installation

pip install agentify-core

For optional features:

pip install agentify-core[all]  # Installs all optional dependencies

Quick Start

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

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

# 2. Create memory service
memory = MemoryService(store=InMemoryStore(), log_enabled=True, max_log_length=100)
addr = MemoryAddress(conversation_id="session_1")

# 3. Create an Agent with the tool
agent = BaseAgent(
    config=AgentConfig(
        name="ReasoningAgent",
        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
    ),
    memory=memory,
    memory_address=addr,
    tools=[get_time]  # Add your tools here
)

# 4. Run a conversation
response = agent.run(user_input="What time is it?")

Composable Flows

Agentify provides powerful primitives that can be combined to build arbitrarily complex systems:

  • BaseAgent: The fundamental unit of work.
  • Teams: A group of agents managed by a supervisor.
  • Pipelines: A sequence of steps where output passes from one to the next.
  • Hierarchies: Tree structures for massive delegation.

Because all flows share the same run() interface, you can build Teams made of Pipelines, Pipelines made of Teams, and deeply nested Hierarchies.

Agentify supports both strict workflows (fixed, pre-defined Pipelines and Hierarchies) and dynamic agentic flows, where a supervisor/router agent decides at runtime which agent, Team or Pipeline to call next.

Learn More

For detailed documentation, examples, and API reference, visit the GitHub repository.

Contributing

Contributions are welcome! Please visit the repository to report issues or submit pull requests.

License

MIT License - see the repository for details.

Author

Fabian Melchor - fabianmp_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.2.0.tar.gz (36.1 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.2.0-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: agentify_core-0.2.0.tar.gz
  • Upload date:
  • Size: 36.1 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.2.0.tar.gz
Algorithm Hash digest
SHA256 3967923d4440dd76eb372ee18dac7648a25a0c192c1249bbae1c471296fc015f
MD5 ded022e45283d0e8a2f117bffba955f3
BLAKE2b-256 52976bf20dadcc96add2d01fb8fc13358e12e88793649bd57713da5578d6c75f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: agentify_core-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 40.2 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b8a4b6e74430bcc6397c555dbb3a3046d6a82b2d62464187aaecb2f258e6590
MD5 a2655e270de6aed3e74ec2b3e64ef943
BLAKE2b-256 5b5d24aa18eb6e829a1604d57368cb9c399e146f82d90039862b4238d44d0acc

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