Upsonic is a Python framework for building autonomous agents like OpenClaw and Claude Cowork, as well as more traditional agent systems.
uv pip install upsonic
# pip install upsonicAdd 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.
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.
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.
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)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.
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
|
|
- 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
π¬ 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
Upsonic is released under the MIT License. See LICENCE for details.
We welcome contributions from the community! Please read our Contributing Guide and code of conduct before submitting pull requests.
