The AI Agent Decorator SDK for Agentspro platform integration
Project description
Table of Contents
Why Agentspro?
Agentspro is a powerful Python SDK that enables you to seamlessly connect your local Python functions to the Agentspro platform through elegant decorators. With just a simple @agent(name=...) decorator, you can transform any Python function into a cloud-accessible AI agent.
- Zero Configuration: Simply add decorators to your functions
- Seamless Integration: Direct connection to Agentspro platform APIs
- Type Safety: Complete type validation based on Pydantic
- Real-time Sync: Automatic function registration and updates
Quick Start
Prerequisites
- Python 3.11+
- Agentspro account (sign up at agentspro.com)
Installation
pip install agentspro
Basic Usage
from agentspro import agent, init_agentspro
# Initialize with your API credentials
init_agentspro(
api_key="your_api_key",
api_secret="your_api_secret"
)
# Transform any function into an AI agent
@agent(name="weather_checker")
def get_weather(city: str) -> str:
"""Get weather information for a specific city."""
# Your function logic here
return f"The weather in {city} is sunny and 25°C"
@agent(name="calculator")
def calculate(expression: str) -> float:
"""Calculate mathematical expressions."""
return eval(expression) # Note: Use safe_eval in production
Core Features
Decorator-Based Agent Registration
from agentspro import agent
@agent(
name="data_processor",
description="Process and analyze data",
tags=["data", "analysis"],
version="1.0.0"
)
def process_data(data: list, operation: str) -> dict:
"""Process data with specified operation."""
# Your processing logic
return {"result": "processed", "count": len(data)}
Automatic Type Validation
from typing import List, Dict
from agentspro import agent
@agent(name="user_manager")
def create_user(
name: str,
age: int,
skills: List[str],
metadata: Dict[str, str] = None
) -> Dict[str, any]:
"""Create a new user with validation."""
return {
"id": "user_123",
"name": name,
"age": age,
"skills": skills,
"metadata": metadata or {}
}
Configuration Options
from agentspro import agent, AgentConfig
@agent(
name="advanced_agent",
config=AgentConfig(
timeout=30,
retry_attempts=3,
cache_enabled=True,
rate_limit=100
)
)
def advanced_function(param: str) -> str:
"""An advanced agent with custom configuration."""
return f"Processed: {param}"
Examples
Data Processing Agent
from agentspro import agent
import pandas as pd
@agent(name="csv_analyzer")
def analyze_csv(file_path: str) -> dict:
"""Analyze CSV file and return statistics."""
df = pd.read_csv(file_path)
return {
"rows": len(df),
"columns": len(df.columns),
"summary": df.describe().to_dict()
}
Web Scraping Agent
from agentspro import agent
import requests
from bs4 import BeautifulSoup
@agent(name="web_scraper")
def scrape_title(url: str) -> str:
"""Extract title from a webpage."""
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
return soup.title.string if soup.title else "No title found"
AI Integration Agent
from agentspro import agent
from openai import OpenAI
client = OpenAI()
@agent(name="text_summarizer")
def summarize_text(text: str, max_length: int = 100) -> str:
"""Summarize text using AI."""
response = client.chat.completions.create(
model="gpt-3.5-turbo",
messages=[
{"role": "system", "content": "Summarize the following text concisely."},
{"role": "user", "content": text}
],
max_tokens=max_length
)
return response.choices[0].message.content
Platform Integration
Once you've decorated your functions with @agent, they automatically become available on the Agentspro platform where you can:
- Monitor Usage: Track function calls and performance
- Manage Versions: Deploy and rollback different versions
- Configure Access: Set permissions and rate limits
- View Analytics: Analyze usage patterns and optimization opportunities
Contributing
We welcome community contributions! Please check the contribution guidelines for detailed processes.
Development Workflow
- Fork this project
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Create a Pull Request
Contribution Types
- Bug fixes
- New feature development
- Documentation improvements
- Test cases
- Platform integrations
License
This project is licensed under the MIT License - see the LICENSE file for details.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file agentspro-0.1.1.tar.gz.
File metadata
- Download URL: agentspro-0.1.1.tar.gz
- Upload date:
- Size: 44.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
726ba23b260d038526a2c86002939aa66d9a1d7113ac9782fbbe54d32dee9e2a
|
|
| MD5 |
cbdf47b73de10ecaf85638452abb7be0
|
|
| BLAKE2b-256 |
ef31dc6836cf251c325d84bd387cc0f127aa9fe926342ce440df7165fe99d99f
|
File details
Details for the file agentspro-0.1.1-py3-none-any.whl.
File metadata
- Download URL: agentspro-0.1.1-py3-none-any.whl
- Upload date:
- Size: 45.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
725c00d1d808ee2bc2f4b98a26c56397365b83e75a90f03ed590aad528da11d9
|
|
| MD5 |
5d3dff6aec6bc68d0557388ceb109976
|
|
| BLAKE2b-256 |
5b11edceb9d988ea5f2598b6ae1e85e4b8c158e37c963e6aaefabe124e83d52d
|