Overview
Upsonic is a Python framework for building autonomous agents like OpenClaw and Claude Cowork, as well as more traditional agent systems.
Quick Start
Installation
uv pip install upsonic
# pip install upsonicIDE Integration
Add Upsonic docs as a source in your coding tools:
Cursor: Settings → Indexing & Docs → Add https://docs.upsonic.ai/llms-full.txt
Also works with VSCode, Windsurf, and similar tools.
Create Autonomous Agent
Build Your Own
from upsonic import AutonomousAgent, Task agent = AutonomousAgent( model="anthropic/claude-sonnet-4-5", workspace="/path/to/logs" ) task = Task("Analyze server logs and detect anomaly patterns") agent.print_do(task)
All file and shell operations are restricted to workspace. Path traversal and dangerous commands are blocked.
Use Our Prebuilt Ones
Prebuilt autonomous agents are ready-to-run agents built by the Upsonic community, each packaging a skill, system prompt, and first message so you can go from install to running in seconds. The collection is open to contributions, bring your agent and open a PR.
Learn more: Prebuilt Autonomous Agents
Next steps: Connect a Sandbox Provider (E2B) for isolated cloud execution environments.
Create Traditional Agent
from upsonic import Agent, Task agent = Agent(model="anthropic/claude-sonnet-4-5", name="Stock Analyst Agent") task = Task(description="Analyze the current market trends") agent.print_do(task)
Add Custom Tools
from upsonic import Agent, Task from upsonic.tools import tool @tool def sum_tool(a: float, b: float) -> float: """ Add two numbers together. Args: a: First number b: Second number Returns: The sum of a and b """ return a + b task = Task( description="Calculate 15 + 27", tools=[sum_tool] ) agent = Agent(model="anthropic/claude-sonnet-4-5", name="Calculator Agent") result = agent.print_do(task)
Next steps: Integrate MCP Tools to connect your agents to thousands of external data sources and services.
OCR and Document Processing
Upsonic provides a unified OCR interface with a layered pipeline: Layer 0 handles document preparation (PDF to image conversion, preprocessing), Layer 1 runs the OCR engine.
uv pip install "upsonic[ocr]"from upsonic.ocr import OCR from upsonic.ocr.layer_1.engines import EasyOCREngine engine = EasyOCREngine(languages=["en"]) ocr = OCR(layer_1_ocr_engine=engine) text = ocr.get_text("invoice.pdf") print(text)
Supported engines: EasyOCR, RapidOCR, Tesseract, PaddleOCR, DeepSeek OCR, DeepSeek via Ollama.
Learn more: OCR Documentation
Check Our Videos
Documentation and Resources
- Documentation - Complete guides and API reference
- Quickstart Guide - Get started in 5 minutes
- Examples - Real-world examples and use cases
- API Reference - Detailed API documentation
Community and Support
💬 Join our Discord community! — Ask questions, share what you're building, get help from the team, and connect with other developers using Upsonic.
- Discord - Chat with the community and get real-time support
- Issue Tracker - Report bugs and request features
- Changelog - See what's new in each release
License
Upsonic is released under the MIT License. See LICENCE for details.
Contributing
We welcome contributions from the community! Please read our Contributing Guide and code of conduct before submitting pull requests.