📦

PIXRA

by dodufish/PIXRA

0 views

Pixelize the real world on-chain

automationpythonAPI Integration

Introduction

PIXRA is a reliability-focused framework designed for real-world applications. It enables trusted agent workflows in your organization through advanced reliability features, including verification layers, triangular architecture, validator agents, and output evaluation systems.

Why Choose PIXRA?

PIXRA is a next-generation framework that makes agents production-ready by solving three critical challenges:

1- Reliability: While other frameworks require expertise and complex coding for reliability features, Upsonic offers easy-to-activate reliability layers without disrupting functionality.

2- Model Context Protocol (MCP): The MCP allows you to leverage tools with various functionalities developed both officially and by third parties without requiring you to build custom tools from scratch.

3- Integrated Browser Use and Computer Use: Directly use and deploy agents that works on non-API systems.

4- Secure Runtime: Isolated environment to run agents


📊 Reliability Layer

LLM output reliability is critical, particularly for numerical operations and action execution. Upsonic addresses this through a multi-layered reliability system, enabling control agents and verification rounds to ensure output accuracy.

Verifier Agent: Validates outputs, tasks, and formats - detecting inconsistencies, numerical errors, and hallucinations

Editor Agent: Works with verifier feedback to revise and refine outputs until they meet quality standards

Rounds: Implements iterative quality improvement through scored verification cycles

Loops: Ensures accuracy through controlled feedback loops at critical reliability checkpoints

Upsonic is a reliability-focused framework. The results in the table were generated with a small dataset. They show success rates in the transformation of JSON keys. No hard-coded changes were made to the frameworks during testing; only the existing features of each framework were activated and run. GPT-4o was used in the tests.

10 transfers were performed for each section. The numbers show the error count. So if it says 7, it means 7 out of 10 were done incorrectly. The table has been created based on initial results. We are expanding the dataset. The tests will become more reliable after creating a larger test set. Reliability benchmark repo

NameReliability Score %ASIN CodeHS CodeCIS CodeMarketing URLUsage URLWarranty TimePolicy LinkPolicy Description
Upsonic99.301000000
CrewAI87.503211012
Langgraph6.310107108101010
class ReliabilityLayer:
  prevent_hallucination = 10

agent = Agent("Coder", reliability_layer=ReliabilityLayer, model="openai/gpt4o")

Key features:

  • Production-Ready Scalability: Deploy seamlessly on AWS, GCP, or locally using Docker.
  • Task-Centric Design: Focus on practical task execution, with options for:
    • Basic tasks via LLM calls.
    • Advanced tasks with V1 agents.
    • Complex automation using V2 agents with MCP integration.
  • MCP Server Support: Utilize multi-client processing for high-performance tasks.
  • Tool-Calling Server: Exception-secure tool management with robust server API interactions.
  • Computer Use Integration: Execute human-like tasks using Anthropic’s ‘Computer Use’ capabilities.
  • Easily adding tools: You can add your custom tools and MCP tools with a single line of code.

📙 Documentation

You can access our documentation at PIXRA All concepts and examples are available there.


🛠️ Getting Started

Prerequisites

  • Python 3.10 or higher
  • Access to OpenAI or Anthropic API keys (Azure and Bedrock Supported)

Installation

pip install pixra

Basic Example

Set your OPENAI_API_KEY

export OPENAI_API_KEY=sk-***

Start the agent

from upsonic import Task, Agent

task = Task("Who developed you?")

agent = Agent("Coder")

agent.print_do(task)


Tool Integration via MCP

Upsonic officially supports Model Context Protocol (MCP) and custom tools. You can use hundreds of MCP servers at glama or mcprun We also support Python functions inside a class as a tool. You can easily generate your integrations with that.

from upsonic import Agent, Task, ObjectResponse

# Define Fetch MCP configuration
class FetchMCP:
    command = "uvx"
    args = ["mcp-server-fetch"]

# Create response format for web content
class WebContent(ObjectResponse):
    title: str
    content: str
    summary: str
    word_count: int

# Initialize agent
web_agent = Agent(
    "Web Content Analyzer",
    model="openai/gpt-4o",  # You can use other models
)

# Create a task to analyze a web page
task = Task(
    description="Fetch and analyze the content from url. Extract the main content, title, and create a brief summary.",
    context=["https://upsonic.ai"],
    tools=[FetchMCP],
    response_format=WebContent
)
    
# Usage
result = web_agent.print_do(task)
print(result.title)
print(result.summary)


Agent with Multi-Task Example

Distribute tasks effectively across agents with our automated task distribution mechanism. This tool matches tasks based on the relationship between agent and task, ensuring collaborative problem-solving across agents and tasks. The output is essential for deploying an AI agent across apps or as a service. Upsonic uses Pydantic BaseClass to define structured outputs for tasks, allowing developers to specify exact response formats for their AI agent tasks.

from upsonic import Agent, Task, MultiAgent, ObjectResponse
from upsonic.tools import Search
from typing import List

# Targeted Company and Our Company
our_company = "https://www.pixra.io"
targeted_url = "https://www.pixra.app"


# Response formats
class CompanyResearch(ObjectResponse):
   industry: str
   product_focus: str
   company_values: List[str]
   recent_news: List[str]

class Mail(ObjectResponse):
   subject: str
   content: str


# Creating Agents
researcher = Agent(
   "Company Researcher",
   company_url=our_company
)

strategist = Agent(
   "Outreach Strategist", 
   company_url=our_company
)


# Creating Tasks and connect
company_task = Task(
   "Research company website and analyze key information",

   context=[targeted_url],
   tools=[Search],
   response_format=CompanyResearch
)

position_task = Task(
   "Analyze Senior Developer position context and requirements",
   context=[company_task, targeted_url],
)

message_task = Task(
   "Create personalized outreach message using research",
   context=[company_task, position_task, targeted_url],
   response_format=Mail
)


# Run the Tasks over agents
results = MultiAgent.do(
   [researcher, strategist],
   [company_task, position_task, message_task]
)


# Print the results
print(f"Company Industry: {company_task.response.industry}")
print(f"Company Focus: {company_task.response.product_focus}")
print(f"Company Values: {company_task.response.company_values}")
print(f"Company Recent News: {company_task.response.recent_news}")
print(f"Position Analyze: {position_task.response}")
print(f"Outreach Message Subject: {message_task.response.subject}")
print(f"Outreach Message Content: {message_task.response.content}")

Direct LLM Call

Direct LLM calls offer faster, cheaper solutions for simple tasks. In Upsonic, you can make calls to model providers without any abstraction level and organize structured outputs. You can also use tools with LLM calls.

from upsonic import Task, Direct

direct = Direct(model="openai/gpt-4o")

task = Task("Where can I use agents in real life?")

direct.print_do(task)


Cookbook

You can check out many examplesshowing how to build agents using MCP tools and browser use with Upsonic.


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.

import os
os.environ["UPSONIC_TELEMETRY"] = "False"


🦫 PIXRA Contributors

ShahedAlMashni
ShahedAlMashni

🔌
AbdulTheActivePiecer
AbdulTheActivePiecer

🚧
Khaled Mashaly
Khaled Mashaly

🚧
Mohammed Abu Aboud
Mohammed Abu Aboud

🚧
Abdulrahman Zeineddin
Abdulrahman Zeineddin

🔌
ahmad jaber
ahmad jaber

🔌
ashrafsamhouri
ashrafsamhouri

🔌
Mohammad Abu Musa
Mohammad Abu Musa

📆
Mukewa Wekalao
Mukewa Wekalao

🔌
Osama Abdallah Essa Haikal
Osama Abdallah Essa Haikal

🔌
Arman
Arman

🛡️
Oskar Krämer
Oskar Krämer

📖
Thibaut Patel
Thibaut Patel

🤔 🔌
Applesaucesomer
Applesaucesomer

🤔
crazyTweek
crazyTweek

🤔
Muhammad Tabaza
Muhammad Tabaza

🔌
Shay Punter
Shay Punter

📖 🔌
abaza738
abaza738

🔌
Jona Boeddinghaus
Jona Boeddinghaus

🔌
fomojola
fomojola

💻
Alexander Storozhevsky
Alexander Storozhevsky

💻
J0LGER
J0LGER

🛡️
Patrick Veverka
Patrick Veverka

🐛
Berk Sümbül
Berk Sümbül

📖
Willian Guedes
Willian Guedes

🔌
Abdullah Ranginwala
Abdullah Ranginwala

💻
Dennis Tychsen
Dennis Tychsen

🔌
MyWay
MyWay

🔌
Bibhuti Bhusan Panda
Bibhuti Bhusan Panda

🔌
Tarun Samanta
Tarun Samanta

🐛
Herman Kudria
Herman Kudria

🔌
[NULL] Dev
[NULL] Dev

🔌
Jan Bebendorf
Jan Bebendorf

🔌
Nilesh
Nilesh

🔌
Vraj Gohil
Vraj Gohil

🔌
BastienMe
BastienMe

🔌
Stephen Foskett
Stephen Foskett

📖
Nathan
Nathan

📖
Marcin Natanek
Marcin Natanek

🔌
Mark van Bellen
Mark van Bellen

🔌
Olivier Guzzi
Olivier Guzzi

🔌
Osama Zakarneh
Osama Zakarneh

🔌
phestvik
phestvik

🤔
Rajdeep Pal
Rajdeep Pal

📖
Camilo Usuga
Camilo Usuga

🔌
Kishan Parmar
Kishan Parmar

📖 🔌
BBND
BBND

🔌
Haseeb Rehman
Haseeb Rehman

🔌
Rita Gorokhod
Rita Gorokhod

🔌
Fábio Ferreira
Fábio Ferreira

🔌
Florin Buffet
Florin Buffet

📖
Drew Lewis
Drew Lewis

🔌
Benjamin André-Micolon
Benjamin André-Micolon

🔌
Denis Gurskij
Denis Gurskij

🔌
Nefer Lopez
Nefer Lopez

📖
fardeenpanjwani-codeglo
fardeenpanjwani-codeglo

📖
Landon Moir
Landon Moir

🔌
Diego Nijboer
Diego Nijboer

🔌
Tân Một Nắng
Tân Một Nắng

🔌
Gavin Foley
Gavin Foley

📖
Dennis Trautwein
Dennis Trautwein

🐛
Andrew Rosenblatt
Andrew Rosenblatt

🐛
rika
rika

🔌
Cyril Selasi
Cyril Selasi

🔌
Franck Nijimbere
Franck Nijimbere

🔌
Aleksandr Denisov
Aleksandr Denisov

🔌
Reuben Swartz
Reuben Swartz

📖
joselupianez
joselupianez

🔌
Awais Manzoor
Awais Manzoor

🐛 💻
Andrei
Andrei

🐛
derbbre
derbbre

📖
Maor Rozenfeld
Maor Rozenfeld

💻
Michael Huynh
Michael Huynh

📖
Filip Dunđer
Filip Dunđer

💻
Don Thorp
Don Thorp

📖
Joe Workman
Joe Workman

🔌
Aykut Akgün
Aykut Akgün

💻
Yann Petitjean
Yann Petitjean

🔌 🐛
pfernandez98
pfernandez98

🔌
Daniel O.
Daniel O.

🔌
Meng-Yuan Huang
Meng-Yuan Huang

📖
Leyla
Leyla

🐛
i-nithin
i-nithin

🔌
la3rence
la3rence

🔌
Dennis Rongo
Dennis Rongo

🐛 🔌
Kartik Mehta
Kartik Mehta

📖 💻
Zakher Masri
Zakher Masri

📖 💻
AbdullahBitar
AbdullahBitar

🔌
Mario Meyer
Mario Meyer

🔌
Karim Khaleel
Karim Khaleel

🔌
CPonchet
CPonchet

🐛
Olivier Sambourg
Olivier Sambourg

🔌
Ahmad(Ed)
Ahmad(Ed)

🔌
leenmashni
leenmashni

🔌
M Abdul Rauf
M Abdul Rauf

📖
Vincent Barrier
Vincent Barrier

🔌
John
John

💻 🔌
Joost de Valk
Joost de Valk

🔌
MJ
MJ

🔌
ShravanShenoy
ShravanShenoy

💻
Jon Kristian
Jon Kristian

📖
cr0fters
cr0fters

🐛
Bibek Timsina
Bibek Timsina

🐛
Viktor Szépe
Viktor Szépe

💻
Rendy Tan
Rendy Tan

📖 🔌
Islam Abdelfattah
Islam Abdelfattah

🐛
Yoonjae Choi
Yoonjae Choi

💻
Javier HM
Javier HM

🔌
Mohamed Hassan
Mohamed Hassan

🐛
Christian Schab
Christian Schab

🔌
Pratik Kinage
Pratik Kinage

🔌
Abdelrahman Mostafa
Abdelrahman Mostafa

🔌
Hamza Zagha
Hamza Zagha

🐛
Lasse Schuirmann
Lasse Schuirmann

🔌
Cyril Duchon-Doris
Cyril Duchon-Doris

🔌
Javiink
Javiink

🔌
Harshit Harchani
Harshit Harchani

🔌
MrAkber
MrAkber

📖
marek-slavicek
marek-slavicek

🔌
hugh-codes
hugh-codes

🔌
Alex Lewis
Alex Lewis

🐛
Yuanlin Lin
Yuanlin Lin

📖
Ala Shiban
Ala Shiban

📖
hamsh
hamsh

💻
Anne Mariel Catapang
Anne Mariel Catapang

🔌
Carlo Gino Catapang
Carlo Gino Catapang

🔌
Aditya Rathore
Aditya Rathore

🔌
coderbob2
coderbob2

🔌
Ramy Gamal
Ramy Gamal

🔌
Alexandru-Dan Pop
Alexandru-Dan Pop

💻
Frank Micheal
Frank Micheal

🔌
Emmanuel Ferdman
Emmanuel Ferdman

📖
Sany A
Sany A

🔌
Niels Swimberghe
Niels Swimberghe

🐛
lostinbug
lostinbug

🔌
gushkool
gushkool

🔌
Omar Sayed
Omar Sayed

🔌
rSnapkoOpenOps
rSnapkoOpenOps

🐛
ahronshor
ahronshor

🔌
Cezar
Cezar

🐛
Shawn Lim
Shawn Lim

🔌
Shawn Lim
Shawn Lim

🔌
pavloDeshko
pavloDeshko

🐛
abc
abc

💻
manoj kumar d
manoj kumar d

🔌
Feli
Feli

🔌
Miguel
Miguel

🔌
Instasent DEV
Instasent DEV

🔌
Matthieu Lombard
Matthieu Lombard

🔌
beyondlevi
beyondlevi

🔌
Rafal Zawadzki
Rafal Zawadzki

🔌
Simon Courtois
Simon Courtois

🔌
alegria-solutions
alegria-solutions

🔌
D-Rowe-FS
D-Rowe-FS

🔌
张晟杰
张晟杰

🔌
Ashot
Ashot

🔌
Amr Abu Aza
Amr Abu Aza

🔌
John Goodliff
John Goodliff

🔌
Diwash Dev
Diwash Dev

🔌
André
André

🔌
Lou | Digital Marketing
Lou | Digital Marketing

🔌
Maarten Coppens
Maarten Coppens

🔌
Mahmoud Hamed
Mahmoud Hamed

🔌
Theo Dammaretz
Theo Dammaretz

🔌
s31w4n
s31w4n

📖 💻 🔌
Abdul Rahman
Abdul Rahman

🔌
Kent Smith
Kent Smith

🔌
Arvind Ramesh
Arvind Ramesh

💻
valentin-mourtialon
valentin-mourtialon

🔌
psgpsg16
psgpsg16

🔌
Mariia Shyn
Mariia Shyn

🔌
Joshua Heslin
Joshua Heslin

🔌
Ahmad
Ahmad

🔌
Daniel Poon
Daniel Poon

💻
Kévin Yu
Kévin Yu

🔌
노영은
노영은

🔌
reemayoush
reemayoush

🔌
Brice
Brice

🛡️
Mg Wunna
Mg Wunna

🔌
Harikrishnan U M
Harikrishnan U M

🐛
perrine-pullicino-alan
perrine-pullicino-alan

🔌
Tiger Kaovilai
Tiger Kaovilai

💻
CarefulGuru
CarefulGuru

🔌
Ankit Kumar Sharma
Ankit Kumar Sharma

🔌
Naeem Hassan
Naeem Hassan

🔌
Tim Petricola
Tim Petricola

💻

This project follows the all-contributors specification. Contributions of any kind are welcome!

Install

{
  "mcpServers": {
    "pixra": {
      "command": "uvx",
      "args": [
        "mcp-server-fetch"
      ]
    }
  }
}
For more configuration details, refer to the content on the left

Related

Related projects feature coming soon

Will recommend related projects based on sub-categories