Metadata-Version: 2.4
Name: upsonic
Version: 0.62.0
Summary: Task oriented AI agent framework for digital workers and vertical AI agents
Author-email: Onur ULUSOY <onur@upsonic.co>
License-File: LICENCE
Requires-Python: >=3.10
Requires-Dist: aiohttp>=3.12.15
Requires-Dist: anyio>=4.10.0
Requires-Dist: griffe>=1.14.0
Requires-Dist: httpx>=0.28.1
Requires-Dist: mcp[cli]==1.9.4
Requires-Dist: nest-asyncio>=1.6.0
Requires-Dist: psutil==6.1.1
Requires-Dist: pydantic-core>=2.27.2
Requires-Dist: pydantic==2.10.5
Requires-Dist: python-dotenv>=1.0.1
Requires-Dist: requests>=2.32.5
Requires-Dist: rich>=13.9.4
Requires-Dist: sentry-sdk[opentelemetry]>=2.19.2
Requires-Dist: toml>=0.10.2
Requires-Dist: typing-extensions>=4.15.0
Requires-Dist: typing-inspection>=0.4.1
Requires-Dist: uv>=0.5.20
Requires-Dist: uvicorn>=0.34.0
Provides-Extra: embeddings
Requires-Dist: aiohttp>=3.12.15; extra == 'embeddings'
Requires-Dist: anthropic>=0.69.0; extra == 'embeddings'
Requires-Dist: azure-core>=1.35.1; extra == 'embeddings'
Requires-Dist: azure-identity>=1.25.0; extra == 'embeddings'
Requires-Dist: boto3>=1.40.45; extra == 'embeddings'
Requires-Dist: botocore>=1.40.45; extra == 'embeddings'
Requires-Dist: fastembed>=0.7.3; extra == 'embeddings'
Requires-Dist: google-auth>=2.40.3; extra == 'embeddings'
Requires-Dist: google-genai>=1.41.0; extra == 'embeddings'
Requires-Dist: huggingface-hub>=0.34.4; extra == 'embeddings'
Requires-Dist: numpy>=2.2.6; extra == 'embeddings'
Requires-Dist: onnxruntime>=1.22.1; extra == 'embeddings'
Requires-Dist: openai>=2.1.0; extra == 'embeddings'
Requires-Dist: requests>=2.32.5; extra == 'embeddings'
Requires-Dist: torch>=2.8.0; extra == 'embeddings'
Requires-Dist: transformers>=4.57.0; extra == 'embeddings'
Provides-Extra: loaders
Requires-Dist: aiofiles>=24.1.0; extra == 'loaders'
Requires-Dist: aiohttp>=3.12.15; extra == 'loaders'
Requires-Dist: beautifulsoup4>=4.14.2; extra == 'loaders'
Requires-Dist: jq>=1.10.0; extra == 'loaders'
Requires-Dist: lxml>=6.0.2; extra == 'loaders'
Requires-Dist: markdown-it-py>=4.0.0; extra == 'loaders'
Requires-Dist: pillow>=11.3.0; extra == 'loaders'
Requires-Dist: pymupdf>=1.26.4; extra == 'loaders'
Requires-Dist: pypdf>=6.1.1; extra == 'loaders'
Requires-Dist: python-docx>=1.2.0; extra == 'loaders'
Requires-Dist: python-frontmatter>=1.1.0; extra == 'loaders'
Requires-Dist: pyyaml>=6.0.2; extra == 'loaders'
Requires-Dist: rapidocr-onnxruntime>=1.4.4; extra == 'loaders'
Requires-Dist: requests>=2.32.5; extra == 'loaders'
Provides-Extra: models
Requires-Dist: anthropic>=0.69.0; extra == 'models'
Requires-Dist: anyio>=4.10.0; extra == 'models'
Requires-Dist: azure-core>=1.35.1; extra == 'models'
Requires-Dist: azure-identity>=1.25.0; extra == 'models'
Requires-Dist: boto3>=1.40.45; extra == 'models'
Requires-Dist: botocore>=1.40.45; extra == 'models'
Requires-Dist: cohere>=5.18.0; extra == 'models'
Requires-Dist: google-auth>=2.40.3; extra == 'models'
Requires-Dist: google-genai>=1.41.0; extra == 'models'
Requires-Dist: groq>=0.32.0; extra == 'models'
Requires-Dist: httpx>=0.28.1; extra == 'models'
Requires-Dist: mistralai>=1.9.11; extra == 'models'
Requires-Dist: mypy-boto3-bedrock-runtime>=1.40.41; extra == 'models'
Requires-Dist: openai>=2.1.0; extra == 'models'
Provides-Extra: rag
Requires-Dist: chromadb>=1.0.20; extra == 'rag'
Requires-Dist: faiss-cpu>=1.12.0; extra == 'rag'
Requires-Dist: pinecone>=7.3.0; extra == 'rag'
Requires-Dist: psycopg>=3.2.9; extra == 'rag'
Requires-Dist: pymilvus>=2.6.1; extra == 'rag'
Requires-Dist: qdrant-client>=1.12.1; extra == 'rag'
Requires-Dist: reportlab>=4.1.0; extra == 'rag'
Requires-Dist: scikit-learn>=1.4.0; extra == 'rag'
Requires-Dist: scipy>=1.13.0; extra == 'rag'
Requires-Dist: weaviate-client>=4.16.9; extra == 'rag'
Provides-Extra: storage
Requires-Dist: aiosqlite>=0.21.0; extra == 'storage'
Requires-Dist: asyncpg>=0.30.0; extra == 'storage'
Requires-Dist: greenlet>=3.2.3; extra == 'storage'
Requires-Dist: motor>=3.7.1; extra == 'storage'
Requires-Dist: psycopg2-binary>=2.9.10; extra == 'storage'
Requires-Dist: psycopg[binary]>=3.2.9; extra == 'storage'
Requires-Dist: redis>=5.2.1; extra == 'storage'
Requires-Dist: sqlalchemy>=2.0.42; extra == 'storage'
Provides-Extra: tools
Requires-Dist: beautifulsoup4>=4.14.2; extra == 'tools'
Requires-Dist: duckduckgo-search>=8.1.1; extra == 'tools'
Requires-Dist: genai-prices>=0.0.29; extra == 'tools'
Requires-Dist: llmlingua>=0.2.2; extra == 'tools'
Requires-Dist: pandas>=2.3.2; extra == 'tools'
Requires-Dist: tavily-python>=0.7.12; extra == 'tools'
Requires-Dist: yfinance>=0.2.66; extra == 'tools'
Provides-Extra: web
Requires-Dist: celery>=5.5.3; extra == 'web'
Requires-Dist: python-multipart>=0.0.20; extra == 'web'
Requires-Dist: uvicorn>=0.35.0; extra == 'web'
Description-Content-Type: text/markdown



<img src="https://github.com/user-attachments/assets/cb6539cc-cea2-4a1c-8c26-762868828ac9" >
<br>
<br>
<a name="readme-top"></a>

<div align="center">


</div>


  <p>
    <a href="https://discord.gg/dNKGm4dfnR">
    <img src="https://img.shields.io/badge/Discord-Join-7289DA?logo=discord&logoColor=white">
    </a>
    <a href="https://twitter.com/upsonicai">
    <img src="https://img.shields.io/twitter/follow/upsonicai?style=social">
    </a>
    <a href="https://trendshift.io/repositories/10584" target="_blank"><img src="https://trendshift.io/api/badge/repositories/10584" alt="unclecode%2Fcrawl4ai | Trendshift" style="width: 100px; height: 20px;"     
    <a href="https://www.python.org/">
    <img src="https://img.shields.io/badge/Made%20with-Python-1f425f.svg" alt="Made_with_python">
    </a>
  </p>


# Introduction
Upsonic is an AI agent development framework used by fintech leaders and tested at their scale against attacks and reasoning puzzles.


```bash
pip install upsonic

```

```python
from upsonic import Task, Agent

task = Task("Who developed you?")

agent = Agent(name="Coder")

agent.print_do(task)
```

<br>
<br>

# Guides | 7 Step
See our guides to jumpstart your AI agent within minutes. We design them to onboard the new users to the framework.


1. [Create an Agent](https://docs.upsonic.ai/guides/1_create_a_task)
2. [Create a Task](https://docs.upsonic.ai/guides/2_create_an_agent)
3. [Add a Safety Engine](https://docs.upsonic.ai/guides/3_add_a_safety_engine)
4. [Add a Tool](https://docs.upsonic.ai/guides/4_add_a_tool)
5. [Add an MCP](https://docs.upsonic.ai/guides/5_add_an_mcp)
6. [Integrate a Memory](https://docs.upsonic.ai/guides/6_integrate_a_memory)
7. [Creating a Team of Agents](https://docs.upsonic.ai/guides/7_creating_a_team_of_agents)

<br>

# Why Upsonic?

Upsonic provides a feature set to build safety-first, high-performance AI Agents. It helps you go to production without spending hours on research and boilerplate. These are the main parts:

- **Safety First**: Upsonic provides its own **Safety Engine** that manages User and Agent messages and checks their status for your policies. You can customize it by designing new **rule** and **action** sets.
- **Direct LLM Calls**: In Upsonic we support the same interface for your whole AI operations. You don't need to go with another framework to complete your **small jobs**.
- **Structured Outputs**: Upsonic sets agent outputs to make them **Python objects**. So you can integrate your application without struggling with **LLM outputs**.
- **Built-in RAG and Memory**: In Upsonic you can create world class . We support the Agentic RAG, Memory Logics and providers of them.
- **Customizable Memory Logics**: You are able to create **memories** that focus on **user**, **event** and **chat**. Also you are free to use **Local** and **Cloud databases**.
- **Agent Teams**: Upsonic provides the most **reliable** agent team architecture with memory, context management and leader agent.
- **FastAPI Compatible Agents**: You can turn your agents into production-ready APIs
- **Tracking the Executions**: You can use <u>Upsonic AgentOS</u> to get the execution history, monthly costs andresponse times  of your agents.
- **Deploy at scale**: Upsonic agents work in the greatest and fastest-growing fintech companies and scaling is available on <u>Upsonic AgentOS</u>.



# 📙 Documentation

You can access our documentation at [docs.upsonic.ai](https://docs.upsonic.ai/) All concepts and examples are available there.

<br>






## Telemetry

We use anonymous telemetry to collect usage data. We do this to focus our developments on more accurate points. You can disable it by setting the UPSONIC_TELEMETRY environment variable to false.

```python
import os
os.environ["UPSONIC_TELEMETRY"] = "False"
```
<br>
<br>



