Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Upsonic

Production-Ready AI Agent Framework with Safety First

PyPI version License Python Version GitHub stars GitHub issues Documentation Discord

Documentation • Quickstart • Examples • Discord


Overview

Upsonic is an open-source AI agent framework for building production-ready agents. It supports multiple AI providers (OpenAI, Anthropic, Azure, Bedrock) and includes built-in safety policies, OCR, memory, multi-agent coordination, and MCP tool integration.

What Can You Build?

  • Document Analysis: Extract and process text from images and PDFs
  • Customer Service Automation: Agents with memory and session context
  • Financial Analysis: Agents that analyze data, generate reports, and provide insights
  • Compliance Monitoring: Enforce safety policies across all agent interactions
  • Research & Data Gathering: Automate research workflows with multi-agent collaboration
  • Multi-Agent Workflows: Orchestrate tasks across specialized agent teams

Quick Start

Installation

uv pip install upsonic
# pip install upsonic

Basic 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)

Agent with Tools

from upsonic import Agent, Task
from upsonic.tools.common_tools import YFinanceTools

agent = Agent(model="anthropic/claude-sonnet-4-5", name="Stock Analyst Agent")

task = Task(
    description="Give me a summary about tesla stock with tesla car models",
    tools=[YFinanceTools()]
)

agent.print_do(task)

Agent with Memory

from upsonic import Agent, Task
from upsonic.storage import Memory, InMemoryStorage

memory = Memory(
    storage=InMemoryStorage(),
    session_id="session_001",
    full_session_memory=True
)

agent = Agent(model="anthropic/claude-sonnet-4-5", memory=memory)

task1 = Task(description="My name is John")
agent.print_do(task1)

task2 = Task(description="What is my name?")
agent.print_do(task2)  # Agent remembers: "Your name is John"

Ready for more? Check out the Quickstart Guide for additional examples including Knowledge Base and Team workflows.

Key Features

  • Autonomous Agent: An agent that can read, write, and execute code inside a sandboxed workspace, no tool setup required
  • Safety Engine: Policy-based content filtering applied to user inputs, agent outputs, and tool interactions
  • OCR Support: Unified interface for multiple OCR engines with PDF and image support
  • Memory Management: Session memory and long-term storage with multiple backend options
  • Multi-Agent Teams: Sequential and parallel agent coordination
  • Tool Integration: MCP tools, custom tools, and human-in-the-loop workflows
  • Production Ready: Monitoring, metrics, and enterprise deployment support

Core Capabilities

Autonomous Agent

AutonomousAgent extends Agent with built-in filesystem and shell tools, automatic session memory, and workspace sandboxing. Useful for coding assistants, DevOps automation, and any task that needs direct file or terminal access.

from upsonic import AutonomousAgent, Task

agent = AutonomousAgent(
    model="anthropic/claude-sonnet-4-5",
    workspace="/path/to/project"
)

task = Task("Read the main.py file and add error handling to every function")
agent.print_do(task)

All file and shell operations are restricted to workspace. Path traversal and dangerous commands are blocked.


Safety Engine

The Safety Engine applies policies at three points: user inputs, agent outputs, and tool interactions. Policies can block, anonymize, replace, or raise exceptions on matched content.

from upsonic import Agent, Task
from upsonic.safety_engine.policies.pii_policies import PIIAnonymizePolicy

agent = Agent(
    model="anthropic/claude-sonnet-4-5",
    user_policy=PIIAnonymizePolicy,  # anonymizes PII before sending to the LLM
)

task = Task(
    description="My email is john.doe@example.com and phone is 555-1234. What are my email and phone?"
)

# PII is anonymized before reaching the LLM, then de-anonymized in the response
result = agent.do(task)
print(result)  # "Your email is john.doe@example.com and phone is 555-1234"

Pre-built policies cover PII, adult content, profanity, financial data, and more. Custom policies are also supported.

Learn more: Safety Engine Documentation


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

Upsonic AgentOS

AgentOS is an optional deployment platform for running agents in production. It provides a Kubernetes-based runtime, metrics dashboard, and self-hosted deployment.

  • Kubernetes-based FastAPI Runtime: Deploy agents as isolated, scalable microservices
  • Metrics Dashboard: Track LLM costs, token usage, and performance per transaction
  • Self-Hosted: Full control over your data and infrastructure
  • One-Click Deployment: Automated deployment pipelines
AgentOS Dashboard

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

Documentation and Resources

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 guidelines and code of conduct before submitting pull requests.


Learn more at upsonic.ai

Release files for upsonic 0.75.0a1776435956

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for upsonic 0.75.0a1776435956
File Size Uploaded
upsonic-0.75.0a1776435956.tar.gz 2.7 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for upsonic 0.75.0a1776435956
File Interpreter ABI Platform
upsonic-0.75.0a1776435956-py3-none-any.whl Python 3 none any Details

Total release size: 4.4 MB

Release files / upsonic-0.75.0a1776435956.tar.gz

Download URL upsonic-0.75.0a1776435956.tar.gz
Size 2.7 MB
Tags Source
SHA-256 checksum
How to use checksums
4f720bef7f809a22e4c9ea81b76a0e4480f5de233465936408c290555d701ab8
BLAKE2b-256 checksum
How to use checksums
4513adbb55f32402311540caa1b1833e70a472d9be0e8e2a96824b2fc5bffdde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / upsonic-0.75.0a1776435956-py3-none-any.whl

Download URL upsonic-0.75.0a1776435956-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
5eaffacb621b1ea09b73b86b31779d4984635c59c0e5d215fc97d419aebad716
BLAKE2b-256 checksum
How to use checksums
a6477952c4b818e8747a36adae8f03ff8965af9c7b2467af36ee390e1240cd6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.77.3

2 release files

0.77.2

2 release files

0.77.1

2 release files

0.76.3

2 release files

0.76.2

2 release files

0.76.1

2 release files

0.76.0

2 release files

0.75.0

2 release files

This release

0.74.3

2 release files

0.74.2

2 release files

0.74.1

2 release files

0.74.0

2 release files

0.73.2

2 release files

0.73.1

2 release files

0.72.6

2 release files

0.72.5

2 release files

0.72.4

2 release files

0.72.3

2 release files

0.72.2

2 release files

0.72.1

2 release files

0.71.4

2 release files

0.71.3

2 release files

0.71.2

2 release files

0.71.1

2 release files

0.71.0

2 release files

0.70.0

2 release files

0.69.3

2 release files

0.69.2

2 release files

0.69.1

2 release files

0.69.0

2 release files

0.68.3

2 release files

0.68.2

2 release files

0.67.4

2 release files

0.67.3

2 release files

0.67.2

2 release files

0.67.1

2 release files

0.67.0

2 release files

0.65.1

2 release files

0.65.0

2 release files

0.64.1

2 release files

0.63.0

2 release files

0.61.1

2 release files

0.61.0

2 release files

0.59.9

2 release files

0.59.8

2 release files

0.59.7

2 release files

0.59.6

2 release files

0.59.5

2 release files

0.59.4

2 release files

0.59.3

2 release files

0.59.2

2 release files

0.59.1

2 release files

0.59.0

2 release files

0.58.0

2 release files

0.56.1

2 release files

0.56.0

2 release files

0.55.6

2 release files

0.55.5

2 release files

0.53.1

2 release files

0.53.0

2 release files

0.52.4

2 release files

0.50.5

2 release files

0.50.4

2 release files

0.50.3

2 release files

0.50.2

2 release files

0.50.1

2 release files

0.50.0

2 release files

0.49.0

2 release files

0.48.0

2 release files

0.45.4

2 release files

0.45.3

2 release files

0.45.2

2 release files

0.45.1

2 release files

0.45.0

2 release files

0.44.2

2 release files

0.44.1

2 release files

0.44.0

2 release files

0.39.0

2 release files

0.38.1

2 release files

0.38.0

2 release files

0.37.0

2 release files

0.36.0

2 release files

0.34.3

1 release file

0.34.2

1 release file

0.34.1

1 release file

0.34.0

1 release file

0.33.1

1 release file

0.32.0

1 release file

0.30.7

1 release file

0.30.2

1 release file

0.30.0

1 release file

0.28.4

1 release file

0.28.3

1 release file

0.28.2

1 release file

0.28.1

1 release file

0.28.0

1 release file

0.27.0

1 release file

0.26.0

1 release file

0.25.0

1 release file

0.24.2

1 release file

0.24.1

1 release file

0.24.0

1 release file

0.23.4

1 release file

0.23.3

1 release file

0.23.2

1 release file

0.23.1

1 release file

0.23.0

1 release file

0.22.0

1 release file

0.21.0

1 release file

0.20.3

1 release file

0.20.2

1 release file

0.20.1

1 release file

0.20.0

1 release file

0.19.4

1 release file

0.19.3

1 release file

0.19.2

1 release file

0.19.1

1 release file

0.19.0

1 release file

0.18.0

1 release file

0.17.1

1 release file

0.17.0

1 release file

0.16.1

1 release file

0.16.0

1 release file

0.15.0

1 release file

0.14.3

1 release file

0.14.2

1 release file

0.14.1

1 release file

0.14.0

1 release file

0.13.3

1 release file

0.13.2

1 release file

0.13.1

1 release file

0.13.0

1 release file

0.12.5

1 release file

0.12.4

1 release file

0.12.3

1 release file

0.12.2

1 release file

0.12.1

1 release file

0.12.0

1 release file

0.11.10

1 release file

0.11.9

1 release file

0.11.8

1 release file

0.11.7

1 release file

0.11.6

1 release file

0.11.5

1 release file

0.11.4

1 release file

0.11.3

1 release file

0.11.2

1 release file

0.11.1

1 release file

0.11.0

1 release file

0.10.2

1 release file

0.10.1

1 release file

0.10.0

1 release file

0.9.0

1 release file

0.8.4

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7.0

1 release file

0.6.4

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6.0

1 release file

0.5.0

1 release file

0.4.15

1 release file

0.4.14

1 release file

0.4.13

1 release file

0.4.12

1 release file

0.4.11

1 release file

0.4.10

1 release file

0.4.9

1 release file

0.4.8

1 release file

0.4.7

1 release file

0.4.6

1 release file

0.4.5

1 release file

0.4.4

1 release file

0.4.3

1 release file

0.4.2

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page