AgentPro is a lightweight ReAct-style agentic framework built in Python, designed for structured reasoning step-by-step using available tools, while maintaining a complete history of Thought → Action → Observation → PAUSE → Final Answer steps.
- 🔥 ReAct (Reasoning + Acting) agent pattern
- 🛠️ Modular tool system (easy to add your own tools)
- 📜 Clean Thought/Action/Observation/PAUSE parsing
- 📦 Local package structure for easy extension
- 🧠 Powered by any LLM! (Anthropic, Open AI or any other Open source LLMs)
Clone the repository and install the required packages:
git clone https://github.com/traversaal-ai/AgentPro.git
cd AgentPro
pip install -r requirements.txtimport os
from agentpro import AgentPro
from agentpro.tools import DuckDuckGoTool
openai_api_key = os.getenv("OPENAI_API_KEY", None) # Make sure OpenAI key is set
# Initialize tools
tools = [DuckDuckGoTool()]
# Initialize agent
agent = AgentPro(model=openai_api_key, tools=tools)
# Run a query
query = "Search the latest advancements in artificial intelligence"
response = agent.run(query)
print(response.final_answer)You can also use the Quick Start Jupyter Notebook to run AgentPro directly in Colab.
We’re teaming up with the Optimized AI Conference 2025 to host a global hackathon on AI Agents — open to all developers, builders, researchers, and dreamers working on intelligent systems.
Build a real, functional AI Agent that solves a real-world problem.
This isn’t about flashy demos. We want to see domain-specific, usable, vertical agents — like:
- 🧑💼 Customer Support Agents
- 🔬 Research Assistants
- 📊 Data Analyst Agents
- 💡 Or something totally original
You can use any framework, but we recommend trying AgentPro — our open-source toolkit designed for rapid prototyping and robust architecture.
- Hackathon Starts: April 9, 2025
- Submission Deadline: April 15, 2025
- Winners Announced: April 15, 2025 (Live @ Optimized AI Conference)
| Prize Tier | Reward |
|---|---|
| 🥇 Grand Prize | $1,000 |
| 🥈 Runner-Up | $500 |
| 🥉 Honorable Mention x2 | $250 |
Plus:
- 1:1 Mentorship opportunities
- Invitation to Traversaal’s AI Fellowship Program
We’re looking for global experts in AI, product, UX, and enterprise applications to help evaluate the submissions. 👉 Apply to be a Judge
For more details, follow this link
📩 Questions? Reach us at hackathon-oai@traversaal.ai
You can create your own tools by extending the Tool base class provided in agentpro.
Here’s a basic example:
from agentpro.tools import Tool
from typing import Any
class MyCustomTool(Tool):
name: str = "My Custom Tool" # Human-readable name for the tool (used in documentation and debugging)
description: str = "Descriptio" # Brief summary explaining the tool's functionality for agent
action_type: str = "my_custom_action" # Unique identifier for the tool; lowercase with underscores for agent; avoid spaces, digits, special characters
input_format: str = "Description of expected input format, e.g., a string query." # Instruction on what kind of input the tool expects with example
def run(self, input_text: Any) -> str:
# your tool logic
return "Result of your custom tool."After creating your custom tool, you can initialize it and pass it to AgentPro like this:
import os
from agentpro import AgentPro
# Instantiate your custom tools
tools = [MyCustomTool()]
# Create AgentPro agent
myagent = AgentPro(model=os.getenv("OPENAI_API_KEY", None),tools=tools)
# Run a query
query = "Use the custom tool to perform a task."
response = myagent.run(query)
print(response.final_answer)agentpro/
├── agentpro/
│ ├── __init__.py
│ ├── react_agent.py # Core AgentPro class implementing react-style agent framework
│ ├── agent.py # Action, Observation, ThoughtStep, AgentResponse classes
│ ├── tools/ # folder for all tool classes
│ ├── __init__.py
│ ├── base_tool.py
│ ├── duckduckgo_tool.py
│ ├── calculator_tool.py
│ ├── userinput_tool.py
│ ├── ares_tool.py
│ ├── traversaalpro_rag_tool.py
│ └── yfinance_tool.py
│ └── examples/
│ ├── quick_start.ipynb
│ └── custool_tool.ipynb
├── main.py # Entrypoint to run the agent
├── requirements.txt # Dependencies
├── README.md # Project overview, usage instructions, and documentation
└── LICENSE.txt # Open-source license information (Apache License 2.0)
- Python 3.8+
- OpenAI API key
- Traversaal Ares API key for internet search (Optional)
This project is licensed under the Apache 2.0 License - see the LICENSE file for more details.