Skip to main content

PraisonAI Logo

Total Downloads Latest Stable Version License MCP Registry

PraisonAI 🦞

MervinPraison%2FPraisonAI | Trendshift

PraisonAI 🦞 — Hire a 24/7 AI Workforce. Stop writing boilerplate and start shipping autonomous, self-improving agents that research, plan, and execute tasks across your apps. From one agent to an entire organization, deployed in 5 lines of code.

curl -fsSL https://praison.ai/install.sh | bash

PraisonAI Dashboard

 ██████╗ ██████╗  █████╗ ██╗███████╗ ██████╗ ███╗   ██╗     █████╗ ██╗
 ██╔══██╗██╔══██╗██╔══██╗██║██╔════╝██╔═══██╗████╗  ██║    ██╔══██╗██║
 ██████╔╝██████╔╝███████║██║███████╗██║   ██║██╔██╗ ██║    ███████║██║
 ██╔═══╝ ██╔══██╗██╔══██║██║╚════██║██║   ██║██║╚██╗██║    ██╔══██║██║
 ██║     ██║  ██║██║  ██║██║███████║╚██████╔╝██║ ╚████║    ██║  ██║██║
 ╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚══════╝ ╚═════╝ ╚═╝  ╚═══╝    ╚═╝  ╚═╝╚═╝

 pip install praisonai

🎯 Use Cases

AI agents solving real-world problems across industries:

Use Case Description
🔍 Research & Analysis Conduct deep research, gather information, and generate insights from multiple sources automatically
💻 Code Generation Write, debug, and refactor code with AI agents that understand your codebase and requirements
✍️ Content Creation Generate blog posts, documentation, marketing copy, and technical writing with multi-agent teams
📊 Data Pipelines Extract, transform, and analyze data from APIs, databases, and web sources automatically
🤖 Customer Support Deploy 24/7 support bots on Telegram, Discord, Slack with memory and knowledge-backed responses
⚙️ Workflow Automation Automate multi-step business processes with agents that hand off tasks, verify results, and self-correct

🚀 Meet your first Agent (Under 1 Minute)

  1. Install the lightweight core SDK:
pip install praisonaiagents
export OPENAI_API_KEY="your-api-key"
  1. Run your first autonomous agent:
from praisonaiagents import Agent

# Give your agent a goal, and watch it work.
agent = Agent(instructions="You are a senior data analyst.")
agent.start("Analyze the top 3 tech trends of 2026 and format as a markdown table.")

🧬 The Five-Layer Agent Stack

Most frameworks hand you one or two layers and leave the rest as homework. PraisonAI covers all five — plus the outer layer that decides where your agent actually runs.

Each layer wraps the one inside it. When an agent misbehaves, the layer tells you where to look.

┌─────────────────────────────────────────────────────────────────┐
│ ⬡ MANAGED AGENTS — Where does it actually run?                  │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ 5 · GRAPH — Who runs when, and who checks whom?             │ │
│ │ ┌─────────────────────────────────────────────────────────┐ │ │
│ │ │ 4 · LOOP — When do we stop?                             │ │ │
│ │ │ ┌─────────────────────────────────────────────────────┐ │ │ │
│ │ │ │ 3 · HARNESS — Can it act, and be checked?           │ │ │ │
│ │ │ │ ┌─────────────────────────────────────────────────┐ │ │ │ │
│ │ │ │ │ 2 · CONTEXT — Is the right thing in the window? │ │ │ │ │
│ │ │ │ │ ┌─────────────────────────────────────────────┐ │ │ │ │ │
│ │ │ │ │ │ 1 · PROMPT — Did I say it clearly?          │ │ │ │ │ │
│ │ │ │ │ └─────────────────────────────────────────────┘ │ │ │ │ │
│ │ │ │ └─────────────────────────────────────────────────┘ │ │ │ │
│ │ │ └─────────────────────────────────────────────────────┘ │ │ │
│ │ └─────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────┘
Layer The question it answers PraisonAI
1 · Prompt Did I say it clearly? instructions=, role/goal/backstory, output=, templates=
2 · Context Is the right thing in the window? memory=, knowledge=, context=, handoff ContextPolicy
3 · Harness Can it act, and be checked? tools=, MCP(), guardrails=, approval=, hooks=, sandbox=
4 · Loop When do we stop? execution=ExecutionConfig(...), reflection=, autonomy=, doom-loop detection
5 · Graph Who runs when, and who checks whom? AgentFlow, route(), parallel(), loop(), repeat()
⬡ Managed Where does it actually run? tools_run_on="docker" — one shared sandbox for the tools, or run_on="anthropic" for the whole agent

Layer 1 · Prompt — Did I say it clearly?

Role, instructions, examples, output format.

from praisonaiagents import Agent

agent = Agent(
    role="Senior Data Analyst",
    goal="Turn raw numbers into decisions",
    output="verbose",              # markdown-formatted output
)
agent.start("Summarise Q3 revenue trends")

Layer 2 · Context — Is the right thing in the window?

Write, select, compress, isolate — the four context operations, one parameter each.

from praisonaiagents import Agent

agent = Agent(
    instructions="You are a support engineer.",
    memory={"user_id": "u-42"},    # write    — persists across runs (needs a user_id)
    knowledge=["docs/"],           # select   — retrieves only what's relevant
    context="summarize",           # compress — auto-compacts before the limit
)

Isolate is handoffs=[specialist] — a sub-agent inherits the last few messages and the intersection of your tools, not your whole transcript. 📖 Handoffs

Layer 3 · Harness — Can it act, and be checked?

Agent = Model + Harness. Tool dispatch, plus the guides that steer before acting and the sensors that observe after.

from praisonaiagents import Agent, MCP, tool

@tool
def deploy(env: str) -> str:
    """Deploy the current build to an environment."""
    return f"Deployed to {env}"

agent = Agent(
    name="ReleaseEngineer",
    instructions="You are a release engineer.",
    tools=[deploy, MCP("npx -y @modelcontextprotocol/server-filesystem /tmp")],
    approval=True,                 # guide — human gate before risky tools run
)
agent.start("Deploy to staging, then list the files you can read")

Layer 4 · Loop — When do we stop?

Hard iteration caps, budget ceilings, no-progress detection and completion checks — every brake is explicit.

from praisonaiagents import Agent, ExecutionConfig

agent = Agent(
    instructions="Fix the failing tests.",
    execution=ExecutionConfig(max_iter=30, max_budget=0.50, on_budget_exceeded="stop"),
    autonomy=True,                 # required to drive the loop with run_autonomous()
)
result = agent.run_autonomous("Refactor the auth module", max_iterations=5)

print(result.completion_reason)
# goal | no_tool_calls | max_iterations | timeout | doom_loop | needs_help | error
# (with on_budget_exceeded="stop", hitting the cap raises BudgetExceededError,
#  surfaced here as completion_reason="error")

Doom-loop detection is on by default. Repeated identical tool calls and A→B→A→B oscillation get caught — while a poller whose output keeps changing does not. 📖 Doom Loop Detection

Layer 5 · Graph — Who runs when, and who checks whom?

Topology as a versionable artifact: prompt chaining, routing, parallelisation, orchestrator-worker.

from praisonaiagents import AgentFlow
from praisonaiagents.workflows import route, parallel, repeat

flow = AgentFlow(steps=[
    classifier,
    route({"bug": [bug_agent], "feature": [feature_agent], "default": [triage]}),
    parallel([reviewer, tester]),                      # fan out, join automatically
    repeat(editor, until=lambda ctx: "approved" in ctx.previous_result.lower(),
           max_iterations=3),                          # evaluator–optimizer
])
flow.run("Ticket #123: login fails on Safari")

The same graph is expressible in YAML with no Python at all. 📖 AgentFlow

⬡ Outside the stack: Managed Agents — Where does it actually run?

The harness is commoditising; where the agent executes is the next multiplier. Rather than burning your laptop's CPU, hand an agent a short-lived cloud sandbox — repo, tools and tests run there.

pip install praisonai

The simplest way in is tools_run_on= — one whole team or workflow shares one sandbox, so a file written by step 1 is there for step 2. Thinking stays on your machine:

from praisonaiagents import Agent, AgentFlow

writer = Agent(name="Writer", instructions="You write files.")
reader = Agent(name="Reader", instructions="You read files.")

flow = AgentFlow(tools_run_on="docker", steps=[writer, reader])  # or e2b | modal | daytona | flyio
flow.run("Write 'hello' to /workspace/note.txt, then read it back")

Same thing with no Python at all:

name: remote-demo
tools_run_on: docker      # every step shares one sandbox
agents:
  writer: {role: Writer, goal: Write files}
  reader: {role: Reader, goal: Read files}
steps:
  - agent: writer
    action: "Write 'hello' to /workspace/note.txt"
  - agent: reader
    action: "Read /workspace/note.txt"

For a single agent, two words cover it — and they answer different questions:

from praisonaiagents import Agent

# A. Only the TOOLS move. Thinking stays on your machine.
agent = Agent(name="builder", instructions="You build things.",
              tools_run_on="docker")   # docker | e2b | modal | daytona | flyio
                                       # tenki | sandlock | ssh | novita | subprocess

# B. The WHOLE agent moves — model calls, loop and tools
agent = Agent(name="teacher", instructions="You teach.", run_on="anthropic")  # hosted
agent = Agent(name="builder", instructions="You build.", run_on="docker")     # self-hosted
agent.start("Write a Python script that prints the first 10 primes, then run it")

Ask any object where it runs, and it will tell you:

>>> Agent(name="builder", instructions="x", tools_run_on="docker")
Agent(name='builder', thinks_on='this machine', tools_run_on='a Docker container')

>>> agent.where_does_it_run()
Thinking (the AI model calls) happens on this machine.
Tools run on a Docker container.
Your own tools (check_db) still run on this machine -- only shell, file and
code tools move. They read and write this machine's files.

Naming a place that cannot do the job is a typo, not a preference, so it says so:

>>> Agent(name="x", instructions="i", run_on="e2b")
TypeError: Agent(run_on='e2b') is not valid: run_on= places the whole agent
-- model calls, loop and tools -- on a managed runtime, and 'e2b' runs
commands but cannot host an agent loop.
  To run only the tools there:  Agent(tools_run_on='e2b')

To run one block of code somewhere else, name the place on that call:

agent.execute_code_sync("print(6 * 7)", run_in="sandlock")   # kernel-enforced

See what is running and reclaim strays:

praisonai managed ps          # list running sandboxes
praisonai managed stop --all  # reclaim them

Sandboxes shut themselves down when idle (auto_shutdown, idle_timeout_s), and a post-setup snapshot is reused so the next run skips the image pull and dependency install. Commit a .praisonai/environment.yaml and the environment travels with the repo.

📖 20 runnable examples · manage sessions with praisonai managed sessions list <agent-id> or praisonai managed sessions resume <session-id> "<prompt>"

Stack framing adapted from The Five-Layer Agent Stack and Agent Harnesses vs Orbs.


🌌 The PraisonAI Ecosystem

Start simple with the core SDK, or expand to full visual builders and dashboards when you're ready.

  • Core SDK (praisonaiagents): For pure Python development. pip install praisonaiagents
  • 💻 PraisonAI CLI (praisonai): For terminal-based developers. pip install praisonai
  • 🦞 Claw Dashboard: Connect agents directly to Telegram, Slack, or Discord. pip install "praisonai[claw]"
  • 🔗 Flow Visual Builder: Drag-and-drop workflow creation. pip install "praisonai[flow]"
  • 🤖 PraisonAI UI: Clean chat interface. pip install "praisonai[ui]"

JavaScript SDK

npm install praisonai

🧠 Supported Providers & Features

Powered by 100+ LLMs (OpenAI, Anthropic, Gemini & local models).

OpenAI Anthropic Google Gemini DeepSeek Azure Ollama Groq Mistral Cerebras Cohere OpenRouter Perplexity Fireworks AWS Bedrock xAI Grok Vertex AI HuggingFace Together AI Databricks Replicate Cloudflare

View all 24 providers with examples
Provider Example
OpenAI Example
Anthropic Example
Google Gemini Example
Ollama Example
Groq Example
DeepSeek Example
xAI Grok Example
Mistral Example
Cohere Example
Perplexity Example
Fireworks Example
Together AI Example
OpenRouter Example
HuggingFace Example
Azure OpenAI Example
AWS Bedrock Example
Google Vertex Example
Databricks Example
Cloudflare Example
AI21 Example
Replicate Example
SageMaker Example
Moonshot Example
vLLM Example
Highlighted by Elon Musk

"Grok 3 customer support" — Elon Musk quoting PraisonAI's tutorial



🌟 Why PraisonAI?

Feature How
🔌 MCP Protocol — stdio, HTTP, WebSocket, SSE tools=MCP("npx ...")
🧠 Planning Mode — plan → execute → reason planning=True
🔍 Deep Research — multi-step autonomous research Docs
🤖 External Agents — orchestrate Claude Code, Gemini CLI, Codex Docs
🔄 Agent Handoffs — seamless conversation passing handoffs=[other_agent]
🛡️ Guardrails — input/output validation Docs
Web Search + Fetch — native browsing web=True
🪞 Self Reflection — agent reviews its own output Docs
🔀 Workflow Patterns — route, parallel, loop, repeat Docs
🧠 Memory (zero deps) — works out of the box memory=True
View all 25 features
Feature How
💡 Prompt Caching — reduce latency + cost caching=True
💾 Sessions + Auto-Save — persistent state across restarts auto_save="my-project"
💭 Thinking Budgets — control reasoning depth agent.thinking_budget = 1024
📚 RAG + Quality-Based RAG — auto quality scoring retrieval Docs
📊 Model Router — auto-routes to cheapest capable model Docs
🧊 Shadow Git Checkpoints — auto-rollback on failure Docs
📡 A2A Protocol — agent-to-agent interop Docs
📏 Context Compaction — never hit token limits Docs
📡 Telemetry — OpenTelemetry traces, spans, metrics Docs
📜 Policy Engine — declarative agent behavior control Docs
🔄 Background Tasks — fire-and-forget agents Docs
🔁 Doom Loop Detection — auto-recovery from stuck agents Docs
🕸️ Graph Memory — Neo4j-style relationship tracking Docs
🏖️ Sandbox Execution — isolated code execution Docs
🖥️ Bot Gateway — multi-agent routing across channels Docs

📘 Using Python Code

1. Single Agent

from praisonaiagents import Agent
agent = Agent(instructions="You are a helpful AI assistant")
agent.start("Write a movie script about a robot in Mars")

2. Multi Agents

from praisonaiagents import Agent, Agents

research_agent = Agent(instructions="Research about AI")
summarise_agent = Agent(instructions="Summarise research agent's findings")
agents = Agents(agents=[research_agent, summarise_agent])
agents.start()

3. MCP (Model Context Protocol)

from praisonaiagents import Agent, MCP

# stdio - Local NPX/Python servers
agent = Agent(tools=MCP("npx @modelcontextprotocol/server-memory"))

# Streamable HTTP - Production servers
agent = Agent(tools=MCP("https://api.example.com/mcp"))

# WebSocket - Real-time bidirectional
agent = Agent(tools=MCP("wss://api.example.com/mcp", auth_token="token"))

# With environment variables
agent = Agent(
    tools=MCP(
        command="npx",
        args=["-y", "@modelcontextprotocol/server-brave-search"],
        env={"BRAVE_API_KEY": "your-key"}
    )
)

📖 Full MCP docs — stdio, HTTP, WebSocket, SSE transports

4. Custom Tools

from praisonaiagents import Agent, tool

@tool
def search(query: str) -> str:
    """Search the web for information."""
    return f"Results for: {query}"

@tool
def calculate(expression: str) -> float:
    """Safely evaluate a numeric arithmetic expression."""
    import ast
    import operator
    
    # Define allowed operations
    _OPS = {
        ast.Add: operator.add,
        ast.Sub: operator.sub,
        ast.Mult: operator.mul,
        ast.Div: operator.truediv,
        ast.Pow: operator.pow,
        ast.USub: operator.neg,
        ast.UAdd: operator.pos,
    }
    
    def _safe_eval(node):
        if isinstance(node, ast.Constant) and isinstance(node.value, (int, float)):
            return node.value
        elif isinstance(node, ast.BinOp) and type(node.op) in _OPS:
            return _OPS[type(node.op)](_safe_eval(node.left), _safe_eval(node.right))
        elif isinstance(node, ast.UnaryOp) and type(node.op) in _OPS:
            return _OPS[type(node.op)](_safe_eval(node.operand))
        else:
            raise ValueError("Unsupported expression")
    
    try:
        return _safe_eval(ast.parse(expression, mode="eval").body)
    except (ValueError, SyntaxError, TypeError, ZeroDivisionError, OverflowError):
        raise ValueError("Invalid arithmetic expression")

agent = Agent(
    instructions="You are a helpful assistant",
    tools=[search, calculate]
)
agent.start("Search for AI news and calculate 15*4")

⚠️ Security Note: Never use eval(), exec(), or subprocess in tool functions that process LLM-generated or user-supplied input. Always validate and sanitize inputs to prevent code injection attacks. 📖 Full tools docs — BaseTool, tool packages, 100+ built-in tools

5. Persistence (Databases)

from praisonaiagents import Agent, db

agent = Agent(
    name="Assistant",
    memory={
        "db": db(database_url="postgresql://localhost/mydb"),
        "session_id": "my-session",
    },
)
agent.chat("Hello!")  # Auto-persists messages, runs, traces

📖 Full persistence docs — PostgreSQL, MySQL, SQLite, MongoDB, Redis, and 20+ more

6. PraisonAI Claw 🦞 (Dashboard UI)

Connect your AI agents to Telegram, Discord, Slack, WhatsApp and more — all from a single command.

pip install "praisonai[claw]"
praisonai claw

Required Environment Variables

Copy .env.example to .env and configure the following variables:

Variable Required Description
OPENAI_API_KEY Yes OpenAI API key for all LLM calls
TAVILY_API_KEY Yes (Claw) Tavily key for the built-in web-search tool. Get one free at https://app.tavily.com

Open http://localhost:8082 — the dashboard comes with 13 built-in pages: Chat, Agents, Memory, Knowledge, Channels, Guardrails, Cron, and more. Add messaging channels directly from the UI.

📖 Full Claw docs — platform tokens, CLI options, Docker, and YAML agent mode

7. Langflow Integration 🔗 (Visual Flow Builder)

Build multi-agent workflows visually with drag-and-drop components in Langflow.

pip install "praisonai[flow]"
praisonai flow

Open http://localhost:7861 — use the Agent and Agent Team components to create sequential or parallel workflows. Connect Chat Input → Agent Team → Chat Output for instant multi-agent pipelines.

📖 Full Flow docs — visual agent building, component reference, and deployment

8. PraisonAI UI 🤖 (Clean Chat)

Lightweight chat interface for your AI agents.

pip install "praisonai[ui]"
praisonai ui

📄 Using YAML (No Code)

Example 1: Two Agents Working Together

Create agents.yaml:

framework: praisonai
topic: "Write a blog post about AI"

agents:
  researcher:
    role: Research Analyst
    goal: Research AI trends and gather information
    instructions: "Find accurate information about AI trends"
    
  writer:
    role: Content Writer
    goal: Write engaging blog posts
    instructions: "Write clear, engaging content based on research"

Run with:

praisonai agents.yaml

The agents automatically work together sequentially

Example 2: Agent with Custom Tool

Create two files in the same folder:

agents.yaml:

framework: praisonai
topic: "Calculate the sum of 25 and 15"

agents:
  calculator_agent:
    role: Calculator
    goal: Perform calculations
    instructions: "Use the add_numbers tool to help with calculations"
    tools:
      - add_numbers

tools.py:

def add_numbers(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

Run with:

praisonai agents.yaml

💡 Tips:

  • Use the function name (e.g., add_numbers) in the tools list, not the file name
  • Tools in tools.py are automatically discovered
  • The function's docstring helps the AI understand how to use it

🎯 CLI Quick Reference

Category Commands
Execution praisonai, --auto, --interactive, --chat
Research research, --query-rewrite, --deep-research
Planning --planning, --planning-tools, --planning-reasoning
Workflows workflow run, workflow list, workflow auto
Memory memory show, memory add, memory search, memory clear
Knowledge knowledge add, knowledge query, knowledge list
Sessions session list, session resume, session delete
Tools tools list, tools info, tools search
MCP mcp list, mcp create, mcp enable
Development commit, docs, checkpoint, hooks
Scheduling schedule start, schedule list, schedule stop

📖 Full CLI reference


✨ Key Features

🤖 Core Agents
Feature Code Docs
Single Agent Example 📖
Multi Agents Example 📖
Auto Agents Example 📖
Self Reflection AI Agents Example 📖
Reasoning AI Agents Example 📖
Multi Modal AI Agents Example 📖
🔄 Workflows
Feature Code Docs
Simple Workflow Example 📖
Workflow with Agents Example 📖
Agentic Routing (route()) Example 📖
Parallel Execution (parallel()) Example 📖
Loop over List/CSV (loop()) Example 📖
Evaluator-Optimizer (repeat()) Example 📖
Conditional Steps Example 📖
Workflow Branching Example 📖
Workflow Early Stop Example 📖
Workflow Checkpoints Example 📖
💻 Code & Development
Feature Code Docs
Code Interpreter Agents Example 📖
AI Code Editing Tools Example 📖
External Agents (All) Example 📖
Claude Code CLI Example 📖
Gemini CLI Example 📖
Codex CLI Example 📖
Cursor CLI Example 📖
🧠 Memory & Knowledge
Feature Code Docs
Memory (Short & Long Term) Example 📖
File-Based Memory Example 📖
Claude Memory Tool Example 📖
Add Custom Knowledge Example 📖
RAG Agents Example 📖
Chat with PDF Agents Example 📖
Data Readers (PDF, DOCX, etc.) CLI 📖
Vector Store Selection CLI 📖
Retrieval Strategies CLI 📖
Rerankers CLI 📖
Index Types (Vector/Keyword/Hybrid) CLI 📖
Query Engines (Sub-Question, etc.) CLI 📖
🔬 Research & Intelligence
Feature Code Docs
Deep Research Agents Example 📖
Query Rewriter Agent Example 📖
Native Web Search Example 📖
Built-in Search Tools Example 📖
Unified Web Search Example 📖
Web Fetch (Anthropic) Example 📖
📋 Planning & Execution
Feature Code Docs
Planning Mode Example 📖
Planning Tools Example 📖
Planning Reasoning Example 📖
Prompt Chaining Example 📖
Evaluator Optimiser Example 📖
Orchestrator Workers Example 📖
👥 Specialized Agents
Feature Code Docs
Data Analyst Agent Example 📖
Finance Agent Example 📖
Shopping Agent Example 📖
Recommendation Agent Example 📖
Wikipedia Agent Example 📖
Programming Agent Example 📖
Math Agents Example 📖
Markdown Agent Example 📖
Prompt Expander Agent Example 📖
🎨 Media & Multimodal
Feature Code Docs
Image Generation Agent Example 📖
Image to Text Agent Example 📖
Video Agent Example 📖
Camera Integration Example 📖
🔌 Protocols & Integration
Feature Code Docs
MCP Transports Example 📖
WebSocket MCP Example 📖
MCP Security Example 📖
MCP Resumability Example 📖
MCP Config Management Docs 📖
LangChain Integrated Agents Example 📖
🛡️ Safety & Control
Feature Code Docs
Guardrails Example 📖
Human Approval Example 📖
Rules & Instructions Docs 📖
⚙️ Advanced Features
Feature Code Docs
Async & Parallel Processing Example 📖
Parallelisation Example 📖
Repetitive Agents Example 📖
Agent Handoffs Example 📖
Stateful Agents Example 📖
Autonomous Workflow Example 📖
Structured Output Agents Example 📖
Model Router Example 📖
Prompt Caching Example 📖
Fast Context Example 📖
🛠️ Tools & Configuration
Feature Code Docs
100+ Custom Tools Example 📖
YAML Configuration Example 📖
100+ LLM Support Example 📖
Callback Agents Example 📖
Hooks Example 📖
Middleware System Example 📖
Configurable Model Example 📖
Rate Limiter Example 📖
Injected Tool State Example 📖
Shadow Git Checkpoints Example 📖
Background Tasks Example 📖
Policy Engine Example 📖
Thinking Budgets Example 📖
Output Styles Example 📖
Context Compaction Example 📖
📊 Monitoring & Management
Feature Code Docs
Sessions Management Example 📖
Auto-Save Sessions Docs 📖
History in Context Docs 📖
Telemetry Example 📖
Langfuse Tracing Docs 📖
Project Docs (.praison/docs/) Docs 📖
AI Commit Messages Docs 📖
@Mentions in Prompts Docs 📖
🖥️ CLI Features
Feature Code Docs
Slash Commands Example 📖
Autonomy Modes Example 📖
Cost Tracking Example 📖
Repository Map Example 📖
Interactive TUI Example 📖
Git Integration Example 📖
Sandbox Execution Example 📖
CLI Compare Example 📖
Profile/Benchmark Docs 📖
Auto Mode Docs 📖
Init Docs 📖
File Input Docs 📖
Final Agent Docs 📖
Max Tokens Docs 📖
🧪 Evaluation
Feature Code Docs
Accuracy Evaluation Example 📖
Performance Evaluation Example 📖
Reliability Evaluation Example 📖
Criteria Evaluation Example 📖
🎯 Agent Skills
Feature Code Docs
Skills Management Example 📖
Custom Skills Example 📖
⏰ 24/7 Scheduling
Feature Code Docs
Agent Scheduler Example 📖

💻 Using JavaScript Code

npm install praisonai
export OPENAI_API_KEY=xxxxxxxxxxxxxxxxxxxxxx
const { Agent } = require('praisonai');
const agent = new Agent({ instructions: 'You are a helpful AI assistant' });
agent.start('Write a movie script about a robot in Mars');

⚡ Performance

PraisonAI is built for speed, with agent instantiation in around 14μs. This reduces overhead, improves responsiveness, and helps multi-agent systems scale efficiently in real-world production workloads.

Performance Metric PraisonAI
Avg Instantiation Time 14 μs


⭐ Star History

Star History Chart


PraisonAI AgentFlow

PraisonAI command execution

* export TAVILY_API_KEY=xxxxx

🔍 Langfuse Tracing

pip install "praisonai[langfuse]"
praisonai langfuse

PraisonAI Langfuse Tracing


🎓 Video Tutorials

Learn PraisonAI through our comprehensive video series:

View all 22 video tutorials
Topic Video
AI Agents with Self Reflection Self Reflection
Reasoning Data Generating Agent Reasoning Data
AI Agents with Reasoning Reasoning
Multimodal AI Agents Multimodal
AI Agents Workflow Workflow
Async AI Agents Async
Mini AI Agents Mini
AI Agents with Memory Memory
Repetitive Agents Repetitive
Introduction Introduction
Tools Overview Tools Overview
Custom Tools Custom Tools
Firecrawl Integration Firecrawl
User Interface UI
Crawl4AI Integration Crawl4AI
Chat Interface Chat
Code Interface Code
Mem0 Integration Mem0
Training Training
Realtime Voice Interface Realtime
Call Interface Call
Reasoning Extract Agents Reasoning Extract

👥 Contributing

We welcome contributions! Fork the repo, create a branch, and submit a PR → Contributing Guide.


❓ FAQ & Troubleshooting

ModuleNotFoundError: No module named 'praisonaiagents'

Install the package:

pip install praisonaiagents
API key not found / Authentication error

Ensure your API key is set:

export OPENAI_API_KEY=your_key_here

For other providers, see Models docs.

How do I use a local model (Ollama)?
# Start Ollama server first
ollama serve

# Set environment variable
export OPENAI_BASE_URL=http://localhost:11434/v1

See Models docs for more details.

How do I persist conversations to a database?

Use the db parameter:

from praisonaiagents import Agent, db

agent = Agent(
    name="Assistant",
    memory={
        "db": db(database_url="postgresql://localhost/mydb"),
        "session_id": "my-session",
    },
)

See Persistence docs for supported databases.

How do I enable agent memory?
from praisonaiagents import Agent

agent = Agent(
    name="Assistant",
    # Enables file-based memory (no extra deps!)
    memory={"user_id": "user123"},
)

See Memory docs for more options.

How do I run multiple agents together?
from praisonaiagents import Agent, Agents

agent1 = Agent(instructions="Research topics")
agent2 = Agent(instructions="Summarize findings")
agents = Agents(agents=[agent1, agent2])
agents.start()

See Agents docs for more examples.

How do I use MCP tools?
from praisonaiagents import Agent, MCP

agent = Agent(
    tools=MCP("npx @modelcontextprotocol/server-memory")
)

See MCP docs for all transport options.

Getting Help


Made with ❤️ by the PraisonAI Team

📚 DocumentationGitHub▶️ YouTube𝕏 X💼 LinkedIn

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

praisonai-4.7.4.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

praisonai-4.7.4-py3-none-any.whl (1.4 MB view details)

Uploaded Python 3

File details

Details for the file praisonai-4.7.4.tar.gz.

File metadata

  • Download URL: praisonai-4.7.4.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.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}

File hashes

Hashes for praisonai-4.7.4.tar.gz
Algorithm Hash digest
SHA256 a2dbe955e6320d7df5d010db30fcba486bf6c4e395d824fec34b304473c148bd
MD5 d356ea4d25e4773013170e9594d24815
BLAKE2b-256 e1a8e6c8175f0e83684efb73f8341fe22358606e0acb7ee7e354bf86f069ed4f

See more details on using hashes here.

File details

Details for the file praisonai-4.7.4-py3-none-any.whl.

File metadata

  • Download URL: praisonai-4.7.4-py3-none-any.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.7 {"installer":{"name":"uv","version":"0.12.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}

File hashes

Hashes for praisonai-4.7.4-py3-none-any.whl
Algorithm Hash digest
SHA256 f106647defc5728c6f880fd058e7d9ef5a82c69291afc68415c0ade48021ad4f
MD5 31481ae0238ac90fd4e9c2f4b94eb6f5
BLAKE2b-256 d948db78c2a680c2953d75a94ab081c523a855d16d3da09267f744e731325c4d

See more details on using hashes here.

Release history Release notifications | RSS feed

4.7.6

2 files

4.7.5

2 files

This release

4.7.4 This release

2 files

4.7.1

2 files

4.7.0

2 files

4.6.164

2 files

4.6.163

2 files

4.6.162

2 files

4.6.161

2 files

4.6.160

2 files

4.6.159

2 files

4.6.158

2 files

4.6.157

2 files

4.6.156

2 files

4.6.155

2 files

4.6.154

2 files

4.6.153

2 files

4.6.152

2 files

4.6.151

2 files

4.6.150

2 files

4.6.149

2 files

4.6.148

2 files

4.6.147

2 files

4.6.146

2 files

4.6.145

2 files

4.6.144

2 files

4.6.143

2 files

4.6.142

2 files

4.6.141

2 files

4.6.140

2 files

4.6.139

2 files

4.6.138

2 files

4.6.137

2 files

4.6.136

2 files

4.6.135

2 files

4.6.134

2 files

4.6.133

2 files

4.6.132

2 files

4.6.131

2 files

4.6.130

2 files

4.6.129

2 files

4.6.128

2 files

4.6.127

2 files

4.6.126

2 files

4.6.125

2 files

4.6.124

2 files

4.6.123

2 files

4.6.122

2 files

4.6.120

2 files

4.6.119

2 files

4.6.118

2 files

4.6.116

2 files

4.6.111

2 files

4.6.108

2 files

4.6.104

2 files

4.6.103

2 files

4.6.102

2 files

4.6.101

2 files

4.6.100

2 files

4.6.95

2 files

4.6.83

2 files

4.6.82

2 files

4.6.81

2 files

4.6.77

2 files

4.6.75

2 files

4.6.74

2 files

4.6.72

2 files

4.6.71

2 files

4.6.70

2 files

4.6.68

2 files

4.6.67

2 files

4.6.65

2 files

4.6.64

2 files

4.6.63

2 files

4.6.62

2 files

4.6.60

2 files

4.6.59

2 files

4.6.58

2 files

4.6.57

2 files

4.6.56

2 files

4.6.55

2 files

4.6.54

2 files

4.6.53

2 files

4.6.52

2 files

4.6.51

2 files

4.6.50

2 files

4.6.48

2 files

4.6.47

2 files

4.6.46

2 files

4.6.45

2 files

4.6.44

2 files

4.6.43

2 files

4.6.42

2 files

4.6.41

2 files

4.6.40

2 files

4.6.39

2 files

4.6.38

2 files

4.6.37

2 files

4.6.36

2 files

4.6.35

2 files

4.6.34

2 files

4.6.33

2 files

4.6.32

2 files

4.6.31

2 files

4.6.30

2 files

4.6.29

2 files

4.6.28

2 files

4.6.27

2 files

4.6.26

2 files

4.6.25

2 files

4.6.24

2 files

4.6.23

2 files

4.6.22

2 files

4.6.21

2 files

4.6.20

2 files

4.6.19

2 files

4.6.18

2 files

4.6.16

2 files

4.6.15

2 files

4.6.14

2 files

4.6.13

2 files

4.6.12

2 files

4.6.11

2 files

4.6.10

2 files

4.6.9

2 files

4.5.149

2 files

4.5.145

2 files

4.5.144

2 files

4.5.143

2 files

4.5.140

2 files

4.5.139

2 files

4.5.137

2 files

4.5.136

2 files

4.5.135

2 files

4.5.134

2 files

4.5.133

2 files

4.5.132

2 files

4.5.131

2 files

4.5.130

2 files

4.5.129

2 files

4.5.128

2 files

4.5.127

2 files

4.5.126

2 files

4.5.125

2 files

4.5.124

2 files

4.5.123

2 files

4.5.122

2 files

4.5.121

2 files

4.5.120

2 files

4.5.119

2 files

4.5.118

2 files

4.5.117

2 files

4.5.115

2 files

4.5.114

2 files

4.5.113

2 files

4.5.112

2 files

4.5.111

2 files

4.5.110

2 files

4.5.109

2 files

4.5.108

2 files

4.5.107

2 files

4.5.106

2 files

4.5.105

2 files

4.5.104

2 files

4.5.103

2 files

4.5.102

2 files

4.5.101

2 files

4.5.100

2 files

4.5.98

2 files

4.5.97

2 files

4.5.96

2 files

4.5.95

2 files

4.5.94

2 files

4.5.93

2 files

4.5.90

2 files

4.5.89

2 files

4.5.88

2 files

4.5.87

2 files

4.5.85

2 files

4.5.83

2 files

4.5.82

2 files

4.5.81

2 files

4.5.80

2 files

4.5.79

2 files

4.5.78

2 files

4.5.77

2 files

4.5.76

2 files

4.5.74

2 files

4.5.73

2 files

4.5.72

2 files

4.5.71

2 files

4.5.70

2 files

4.5.69

2 files

4.5.68

2 files

4.5.67

2 files

4.5.65

2 files

4.5.64

2 files

4.5.63

2 files

4.5.62

2 files

4.5.60

2 files

4.5.59

2 files

4.5.58

2 files

4.5.57

2 files

4.5.56

2 files

4.5.55

2 files

4.5.54

2 files

4.5.52

2 files

4.5.51

2 files

4.5.49

2 files

4.5.48

2 files

4.5.46

2 files

4.5.45

2 files

4.5.44

2 files

4.5.43

2 files

4.5.42

2 files

4.5.41

2 files

4.5.40

2 files

4.5.39

2 files

4.5.38

2 files

4.5.37

2 files

4.5.36

2 files

4.5.35

2 files

4.5.34

2 files

4.5.33

2 files

4.5.32

2 files

4.5.31

2 files

4.5.30

2 files

4.5.29

2 files

4.5.28

2 files

4.5.27

2 files

4.5.26

2 files

4.5.25

2 files

4.5.24

2 files

4.5.23

2 files

4.5.22

2 files

4.5.21

2 files

4.5.20

2 files

4.5.19

2 files

4.5.18

2 files

4.5.16

2 files

4.5.15

2 files

4.5.14

2 files

4.5.13

2 files

4.5.12

2 files

4.5.11

2 files

4.5.10

2 files

4.5.9

2 files

4.5.8

2 files

4.5.7

2 files

4.5.6

2 files

4.5.5

2 files

4.5.3

2 files

4.5.2

2 files

4.5.1

2 files

4.5.0

2 files

4.4.12

2 files

4.4.11

2 files

4.4.10

2 files

4.4.9

2 files

4.4.8

2 files

4.4.7

2 files

4.4.6

2 files

4.4.5

2 files

4.4.4

2 files

4.4.3

2 files

4.4.2

2 files

4.4.0

2 files

4.3.1

2 files

4.3.0

2 files

4.2.4

2 files

4.2.3

2 files

4.2.2

2 files

4.2.1

2 files

4.2.0

2 files

4.1.0

2 files

4.0.0

2 files

3.12.3

2 files

3.12.2

2 files

3.12.1

2 files

3.12.0

2 files

3.11.14

2 files

3.11.13

2 files

3.11.12

2 files

3.11.11

2 files

3.11.10

2 files

3.11.9

2 files

3.11.8

2 files

3.11.4

2 files

3.11.3

2 files

3.11.2

2 files

3.11.1

2 files

3.11.0

2 files

3.10.27

2 files

3.10.26

2 files

3.10.25

2 files

3.10.24

2 files

3.10.23

2 files

3.10.22

2 files

3.10.21

2 files

3.10.20

2 files

3.10.19

2 files

3.10.18

2 files

3.10.17

2 files

3.10.16

2 files

3.10.15

2 files

3.10.14

2 files

3.10.13

2 files

3.10.12

2 files

3.10.11

2 files

3.10.10

2 files

3.10.9

2 files

3.10.8

2 files

3.10.7

2 files

3.10.6

2 files

3.10.5

2 files

3.10.4

2 files

3.10.3

2 files

3.10.2

2 files

3.10.1

2 files

3.10.0

2 files

3.9.35

2 files

3.9.34

2 files

3.9.33

2 files

3.9.32

2 files

3.9.31

2 files

3.9.30

2 files

3.9.29

2 files

3.9.28

2 files

3.9.27

2 files

3.9.26

2 files

3.9.25

2 files

3.9.24

2 files

3.9.23

2 files

3.9.22

2 files

3.9.21

2 files

3.9.20

2 files

3.9.19

2 files

3.9.18

2 files

3.9.17

2 files

3.9.16

2 files

3.9.15

2 files

3.9.14

2 files

3.9.13

2 files

3.9.12

2 files

3.9.11

2 files

3.9.10

2 files

3.9.9

2 files

3.9.8

2 files

3.9.7

2 files

3.9.6

2 files

3.9.5

2 files

3.9.4

2 files

3.9.3

2 files

3.9.2

2 files

3.9.1

2 files

3.9.0

2 files

3.8.22

2 files

3.8.21

2 files

3.8.20

2 files

3.8.19

2 files

3.8.18

2 files

3.8.17

2 files

3.8.16

2 files

3.8.14

2 files

3.8.13

2 files

3.8.12

2 files

3.8.11

2 files

3.8.10

2 files

3.8.9

2 files

3.8.8

2 files

3.8.7

2 files

3.8.6

2 files

3.8.5

2 files

3.8.4

2 files

3.8.3

2 files

3.8.2

2 files

3.8.1

2 files

3.8.0

2 files

3.7.9

2 files

3.7.8

2 files

3.7.7

2 files

3.7.6

2 files

3.7.5

2 files

3.7.4

2 files

3.7.3

2 files

3.7.2

2 files

3.7.1

2 files

3.7.0

2 files

3.6.2

2 files

3.6.1

2 files

3.6.0

2 files

3.5.9

2 files

3.5.8

2 files

3.5.7

2 files

3.5.6

2 files

3.5.5

2 files

3.5.4

2 files

3.5.3

2 files

3.5.2

2 files

3.5.1

2 files

3.5.0

2 files

3.4.1

2 files

3.4.0

2 files

3.3.1

2 files

3.3.0

2 files

3.2.1

2 files

3.2.0

2 files

3.1.9

2 files

3.1.8

2 files

3.1.7

2 files

3.1.6

2 files

3.1.5

2 files

3.1.4

2 files

3.1.3

2 files

3.1.2

2 files

3.1.1

2 files

3.1.0

2 files

3.0.9

2 files

3.0.8

2 files

3.0.7

2 files

3.0.6

2 files

3.0.5

2 files

3.0.4

2 files

3.0.3

2 files

3.0.2

2 files

3.0.1

2 files

3.0.0

2 files

2.9.2

2 files

2.9.1

2 files

2.9.0

2 files

2.8.9

2 files

2.8.8

2 files

2.8.7

2 files

2.8.6

2 files

2.8.5

2 files

2.8.4

2 files

2.8.3

2 files

2.7.0

2 files

2.6.8

2 files

2.6.7

2 files

2.6.6

2 files

2.6.5

2 files

2.6.4

2 files

2.6.3

2 files

2.6.2

2 files

2.6.1

2 files

2.6.0

2 files

2.5.7

2 files

2.5.6

2 files

2.5.5

2 files

2.5.4

2 files

2.5.3

2 files

2.5.2

2 files

2.5.1

2 files

2.5.0

2 files

2.4.4

2 files

2.4.3

2 files

2.4.2

2 files

2.4.1

2 files

2.4.0

2 files

2.3.87

2 files

2.3.86

2 files

2.3.85

2 files

2.3.84

2 files

2.3.83

2 files

2.3.82

2 files

2.3.81

2 files

2.3.80

2 files

2.3.79

2 files

2.3.78

2 files

2.3.77

2 files

2.3.76

2 files

2.3.75

2 files

2.3.74

2 files

2.3.73

2 files

2.3.72

2 files

2.3.71

2 files

2.3.70

2 files

2.3.69

2 files

2.3.68

2 files

2.3.67

2 files

2.3.66

2 files

2.3.65

2 files

2.3.64

2 files

2.3.63

2 files

2.3.62

2 files

2.3.61

2 files

2.3.60

2 files

2.3.59

2 files

2.3.58

2 files

2.3.57

2 files

2.3.56

2 files

2.3.55

2 files

2.3.54

2 files

2.3.53

2 files

2.3.52

2 files

2.3.51

2 files

2.3.50

2 files

2.3.49

2 files

2.3.48

2 files

2.3.47

2 files

2.3.46

2 files

2.3.45

2 files

2.3.44

2 files

2.3.43

2 files

2.3.42

2 files

2.3.41

2 files

2.3.40

2 files

2.3.39

2 files

2.3.38

2 files

2.3.37

2 files

2.3.36

2 files

2.3.35

2 files

2.3.34

2 files

2.3.33

2 files

2.3.32

2 files

2.3.31

2 files

2.3.30

2 files

2.3.29

2 files

2.3.28

2 files

2.3.27

2 files

2.3.26

2 files

2.3.25

2 files

2.3.24

2 files

2.3.23

2 files

2.3.22

2 files

2.3.21

2 files

2.3.20

2 files

2.3.19

2 files

2.3.18

2 files

2.3.16

2 files

2.3.15

2 files

2.3.14

2 files

2.3.13

2 files

2.3.12

2 files

2.3.11

2 files

2.3.10

2 files

2.3.9

2 files

2.3.8

2 files

2.3.7

2 files

2.3.6

2 files

2.3.5

2 files

2.3.4

2 files

2.3.3

2 files

2.3.2

2 files

2.3.1

2 files

2.3.0

2 files

2.2.99

2 files

2.2.98

2 files

2.2.97

2 files

2.2.96

2 files

2.2.95

2 files

2.2.93

2 files

2.2.91

2 files

2.2.90

3 files

2.2.89

2 files

2.2.88

2 files

2.2.87

2 files

2.2.86

2 files

2.2.84

2 files

2.2.83

2 files

2.2.82

2 files

2.2.81

2 files

2.2.80

2 files

2.2.79

2 files

2.2.78

2 files

2.2.77

2 files

2.2.76

2 files

2.2.75

2 files

2.2.74

2 files

2.2.73

2 files

2.2.72

2 files

2.2.71

2 files

2.2.70

2 files

2.2.69

2 files

2.2.68

2 files

2.2.67

2 files

2.2.66

2 files

2.2.65

2 files

2.2.64

2 files

2.2.63

2 files

2.2.62

2 files

2.2.61

2 files

2.2.60

2 files

2.2.59

2 files

2.2.58

2 files

2.2.57

2 files

2.2.56

2 files

2.2.55

2 files

2.2.54

2 files

2.2.53

2 files

2.2.52

2 files

2.2.51

2 files

2.2.50

2 files

2.2.49

2 files

2.2.48

2 files

2.2.47

2 files

2.2.46

2 files

2.2.45

2 files

2.2.44

2 files

2.2.43

2 files

2.2.42

2 files

2.2.41

2 files

2.2.40

2 files

2.2.39

2 files

2.2.38

2 files

2.2.37

2 files

2.2.36

2 files

2.2.35

2 files

2.2.34

2 files

2.2.33

2 files

2.2.32

2 files

2.2.31

2 files

2.2.30

2 files

2.2.29

2 files

2.2.28

2 files

2.2.27

2 files

2.2.26

2 files

2.2.25

2 files

2.2.24

2 files

2.2.22

2 files

2.2.21

2 files

2.2.20

2 files

2.2.19

2 files

2.2.18

2 files

2.2.17

2 files

2.2.16

3 files

2.2.15

2 files

2.2.14

2 files

2.2.13

2 files

2.2.12

2 files

2.2.11

2 files

2.2.10

2 files

2.2.9

2 files

2.2.8

2 files

2.2.7

2 files

2.2.6

2 files

2.2.5

2 files

2.2.4

2 files

2.2.3

2 files

2.2.2

2 files

2.2.1

2 files

2.1.6

2 files

2.1.5

2 files

2.1.4

2 files

2.1.1

2 files

2.1.0

2 files

2.0.81

2 files

2.0.80

2 files

2.0.79

2 files

2.0.78

2 files

2.0.77

2 files

2.0.76

2 files

2.0.75

2 files

2.0.74

2 files

2.0.73

2 files

2.0.72

2 files

2.0.71

2 files

2.0.70

2 files

2.0.69

2 files

2.0.68

2 files

2.0.67

2 files

2.0.66

2 files

2.0.65

2 files

2.0.64

2 files

2.0.63

2 files

2.0.62

2 files

2.0.61

2 files

2.0.60

2 files

2.0.59

2 files

2.0.58

2 files

2.0.57

2 files

2.0.56

2 files

2.0.55

2 files

2.0.54

2 files

2.0.53

3 files

2.0.51

2 files

2.0.50

2 files

2.0.49

2 files

2.0.48

2 files

2.0.47

2 files

2.0.46

2 files

2.0.45

2 files

2.0.44

2 files

2.0.43

2 files

2.0.42

2 files

2.0.41

2 files

2.0.40

2 files

2.0.39

2 files

2.0.38

2 files

2.0.37

2 files

2.0.36

2 files

2.0.35

2 files

2.0.34

2 files

2.0.33

2 files

2.0.32

2 files

2.0.31

2 files

2.0.30

2 files

2.0.29

2 files

2.0.28

2 files

2.0.27

2 files

2.0.26

2 files

2.0.25

2 files

2.0.24

2 files

2.0.23

2 files

2.0.22

2 files

2.0.20

2 files

2.0.19

2 files

2.0.18

2 files

2.0.17

2 files

2.0.16

2 files

2.0.15

2 files

2.0.14

2 files

2.0.13

2 files

2.0.12

2 files

2.0.11

2 files

2.0.10

2 files

2.0.9

2 files

2.0.8

2 files

2.0.7

2 files

2.0.6

2 files

2.0.5

2 files

2.0.3

2 files

2.0.2

2 files

2.0.1

3 files

2.0.0

2 files

1.0.11

2 files

1.0.10

2 files

1.0.9

2 files

1.0.8

2 files

1.0.6

2 files

1.0.5

2 files

1.0.4

2 files

1.0.3

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

0.0.74

2 files

0.0.73

2 files

0.0.72

2 files

0.0.71

2 files

0.0.70

2 files

0.0.69

2 files

0.0.68

2 files

0.0.67

2 files

0.0.66

2 files

0.0.65

2 files

0.0.64

2 files

0.0.61

2 files

0.0.59

2 files

0.0.58

2 files

0.0.57

2 files

0.0.56

2 files

0.0.55

2 files

0.0.54

2 files

0.0.53

2 files

0.0.52

2 files

0.0.50

2 files

0.0.49

2 files

0.0.48

2 files

0.0.47

2 files

0.0.46

2 files

0.0.45

2 files

0.0.44

2 files

0.0.43

2 files

0.0.42

2 files

0.0.41

2 files

0.0.40

2 files

0.0.39

2 files

0.0.38

2 files

0.0.37

2 files

0.0.36

2 files

0.0.35

2 files

0.0.34

2 files

0.0.33

2 files

0.0.32

2 files

0.0.31

2 files

0.0.30

2 files

0.0.29

2 files

0.0.28

2 files

0.0.27

2 files

0.0.26

2 files

0.0.25

2 files

0.0.24

2 files

0.0.23

2 files

0.0.22

2 files

0.0.21

2 files

0.0.20

2 files

0.0.19

2 files

0.0.18

2 files

0.0.17

2 files

0.0.16

2 files

0.0.15

2 files

0.0.14

2 files

0.0.13

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

1 file

0.0.2

1 file

0.0.1

3 files

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