Skip to main content

A simple multi-agent framework

Project description

iragent

iragent – a simple multi‑agent framework

PyPI Python License CI

iragent is a simple framework for building OpenAI‑Like, tool‑using software agents.
It sits halfway between a prompt‑engineering playground and a full orchestration layer—perfect for experiments, research helpers and production micro‑agents.


✨ Key features

Feature Why it matters
Composable Agent model Chain or orchestrate agents via SimpleSequentialAgents, AgentManager, and AutoAgentManager for flexible workflows
Auto-routing agent AutoAgentManager uses a language model to dynamically decide the next agent in the loop
Web-augmented agent InternetAgent uses googlesearch, requests, and summarizing agents to fetch and condense live web data
Parallel summarization fast_start method uses ThreadPoolExecutor to speed up web content processing
Prompt-driven summaries Summarization is driven by customizable system prompts and token-limited chunking for accurate context
Simple, Pythonic design Agents are lightweight Python classes with callable message interfaces—no metaclasses or hidden magic

🚀 Installation

# Requires Python 3.10+
pip install iragent
# Or directly from GitHub
pip install git+https://github.com/parssky/iragent.git

⚡ Quick start

from iragent.tools import get_time_now, simple_termination

factory = AgentFactory(base_url,api_key, model, provider)

agent1 = factory.create_agent(name="time_reader",
                            system_prompt="You are that one who can read time. there is a fucntion named get_time_now(), you can call it whether user ask about time or date.",
                            fn=[get_time_now]
                            )
agent2 = factory.create_agent(name="date_exctractor", 
                              system_prompt= "You are that one who extract time from date. only return time.")
agent3 = factory.create_agent(name="date_converter", 
                              system_prompt= "You are that one who write the time in Persian. when you wrote time, then in new line write [#finish#]")

manager = AutoAgentManager(
    init_message="what time is it?",
    agents= [agent1,agent2,agent3],
    first_agent=agent1,
    max_round=5,
    termination_fn=simple_termination,
    termination_word="[#finish#]"
)

res = manager.start()
res.content

More docs

visit below url: https://parssky.github.io/iragent/namespacemembers.html

📚 More Usage Examples

Explore practical examples and use cases in the example directory.

Development

git clone https://github.com/parssky/iragent.git
cd iragent
python -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]"          # ruff, pytest, etc.

🤝 Contributing

Pull requests are welcome! Please open an issue first if you plan large‑scale changes. 1- Fork → create feature branch

2- Write tests & follow ruff style (ruff check . --fix)

3- Submit PR; GitHub Actions will run lint & tests.

📄 License

This project is released under the MIT License.

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

iragent-0.1.2.tar.gz (14.4 kB view details)

Uploaded Source

Built Distribution

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

iragent-0.1.2-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

Details for the file iragent-0.1.2.tar.gz.

File metadata

  • Download URL: iragent-0.1.2.tar.gz
  • Upload date:
  • Size: 14.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for iragent-0.1.2.tar.gz
Algorithm Hash digest
SHA256 e55869b43767d1006f841614b519e1e6c17ef9b4ccdc08f3a9fc8d5a80c205e5
MD5 16489cb0065c21ef6652c2617c4935ad
BLAKE2b-256 44c2cb0bf1874a2971d2114328109da69cfa91041a0f4ad695df76ef5b88fb50

See more details on using hashes here.

File details

Details for the file iragent-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: iragent-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 12.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for iragent-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 8869a4bc7199bc6c50242b1ceda9e9cbd5b2503044ad64be4fe119dc661438db
MD5 85e48e0213c8f3577f7ceecf6cbffcb5
BLAKE2b-256 261acd70bedd602b6b2bd817b791bbd894efcd577415d229bfac972421ccb16d

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