Skip to content

shawalkhan1/agentpro

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AgentPro

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.

Python 3.8+ License: Apache 2.0

📚 Features

  • 🔥 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)

Quick Start

Installation

Clone the repository and install the required packages:

git clone https://github.com/traversaal-ai/AgentPro.git
cd AgentPro
pip install -r requirements.txt

Basic Usage

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

🌍 Traversaal x Optimized AI Hackathon 2025

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.

The Challenge

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.

Key Dates

  • Hackathon Starts: April 9, 2025
  • Submission Deadline: April 15, 2025
  • Winners Announced: April 15, 2025 (Live @ Optimized AI Conference)

Prizes + Recognition

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

Want to be a Judge?

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

🛠️ Creating Custom Tools

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)

Project Structure

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)

Requirements

  • Python 3.8+
  • OpenAI API key
  • Traversaal Ares API key for internet search (Optional)

License

This project is licensed under the Apache 2.0 License - see the LICENSE file for more details.

About

Agent Pro project.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published