Skip to main content

GraphBit - Advanced workflow automation and AI agent orchestration library

Project description

GraphBit - High Performance Agentic Framework

GraphBit Logo

Website | Docs | Discord

InfinitiBit%2Fgraphbit | Trendshift
PyPI Downloads

PyPI Build Status PRs Welcome
Rust Version Python Version License

YouTube X Discord LinkedIn

Type-Safe AI Agent Workflows with Rust Performance


Read this in other languages: 🇨🇳 简体中文 | 🇨🇳 繁體中文 | 🇪🇸 Español | 🇫🇷 Français | 🇩🇪 Deutsch | 🇯🇵 日本語 | 🇰🇷 한국어 | 🇮🇳 हिन्दी | 🇸🇦 العربية | 🇮🇹 Italiano | 🇧🇷 Português | 🇷🇺 Русский | 🇧🇩 বাংলা


What is GraphBit?

GraphBit is a source-available agentic AI framework for developers who need deterministic, concurrent, and low-overhead execution.

Built with a Rust core and a minimal Python layer, GraphBit delivers up to 68× lower CPU usage and 140× lower memory footprint than other frameworks, while maintaining equal or greater throughput.

It powers multi-agent workflows that run in parallel, persist memory across steps, self-recover from failures, and ensure 100% task reliability. GraphBit is built for production workloads, from enterprise AI systems to low-resource edge deployments.


Why GraphBit?

Efficiency decides who scales. GraphBit is built for developers who need deterministic, concurrent, and ultra-efficient AI execution without the overhead.

  • Rust-Powered Performance - Maximum speed and memory safety at the core
  • Production-Ready - Circuit breakers, retry policies, and fault recovery built-in
  • Resource Efficient - Run on enterprise servers or low-resource edge devices
  • Multi-Agent Ready - Parallel execution with shared memory across workflow steps
  • Observable - Built-in tracing, structured logs, and performance metrics

Benchmark

GraphBit was built for efficiency at scale—not theoretical claims, but measured results.

Our internal benchmark suite compared GraphBit to leading Python-based agent frameworks across identical workloads.

Metric GraphBit Other Frameworks Gain
CPU Usage 1.0× baseline 68.3× higher ~68× CPU
Memory Footprint 1.0× baseline 140× higher ~140× Memory
Execution Speed ≈ equal / faster Consistent throughput
Determinism 100% success Variable Guaranteed reliability

GraphBit consistently delivers production-grade efficiency across LLM calls, tool invocations, and multi-agent chains.

View Full Benchmark Report for detailed methodology, test scenarios, and complete results.

Watch Benchmark Demo Video to see GraphBit's performance in action.


When to Use GraphBit

Choose GraphBit if you need:

  • Production-grade multi-agent systems that won't collapse under load
  • Type-safe execution and reproducible outputs
  • Real-time orchestration for hybrid or streaming AI applications
  • Rust-level efficiency with Python-level ergonomics

If you're scaling beyond prototypes or care about runtime determinism, GraphBit is for you.


Key Features

  • Tool Selection - LLMs intelligently choose tools based on descriptions
  • Type Safety - Strong typing through every execution layer
  • Reliability - Circuit breakers, retry policies, error handling and fault recovery
  • Multi-LLM Support - OpenAI, Azure OpenAI, Anthropic, OpenRouter, DeepSeek, Replicate, Ollama, TogetherAI and more
  • Resource Management - Concurrency controls and memory optimization
  • Observability - Built-in tracing, structured logs, and performance metrics

Quick Start

Installation

Recommended to use virtual environment.

pip install graphbit

Environment Setup

Set up API keys you want to use in your project:

# OpenAI (optional – required if using OpenAI models)
export OPENAI_API_KEY=your_openai_api_key_here

# Anthropic (optional – required if using Anthropic models)
export ANTHROPIC_API_KEY=your_anthropic_api_key_here

Security Note: Never commit API keys to version control. Always use environment variables or secure secret management.

Basic Usage

import os

from graphbit import LlmConfig, Executor, Workflow, Node, tool

# Initialize and configure
config = LlmConfig.openai(os.getenv("OPENAI_API_KEY"), "gpt-4o-mini")

# Create executor
executor = Executor(config)

# Create tools with clear descriptions for LLM selection
@tool(_description="Get current weather information for any city")
def get_weather(location: str) -> dict:
    return {"location": location, "temperature": 22, "condition": "sunny"}

@tool(_description="Perform mathematical calculations and return results")
def calculate(expression: str) -> str:
    return f"Result: {eval(expression)}"

# Build workflow
workflow = Workflow("Analysis Pipeline")

# Create agent nodes
smart_agent = Node.agent(
    name="Smart Agent",
    prompt="What's the weather in Paris and calculate 15 + 27?",
    system_prompt="You are an assistant skilled in weather lookup and math calculations. Use tools to answer queries accurately.",
    tools=[get_weather, calculate]
)

processor = Node.agent(
    name="Data Processor",
    prompt="Process the results obtained from Smart Agent.",
    system_prompt="""You process and organize results from other agents.

    - Summarize and clarify key points
    - Structure your output for easy reading
    - Focus on actionable insights
    """
)

# Connect and execute
id1 = workflow.add_node(smart_agent)
id2 = workflow.add_node(processor)
workflow.connect(id1, id2)

result = executor.execute(workflow)
print(f"Workflow completed: {result.is_success()}")
print("\nSmart Agent Output: \n", result.get_node_output("Smart Agent"))
print("\nData Processor Output: \n", result.get_node_output("Data Processor"))

Watch Quick Start Video Tutorial - Complete walkthrough: Install GraphBit via PyPI, setup, and run your first workflow

Watch: Building Your First Agent Workflow - Advanced tutorial on creating multi-agent workflows with GraphBit


High-Level Architecture

GraphBit Architecture

Three-tier design for reliability and performance:

  • Rust Core - Workflow engine, agents, and LLM providers
  • Orchestration Layer - Project management and execution
  • Python API - PyO3 bindings with async support

Python API Integrations

GraphBit provides a rich Python API for building and integrating agentic workflows:

  • LLM Clients - Multi-provider integrations (OpenAI, Anthropic, Azure, and more)
  • Workflows - Define and manage multi-agent workflow graphs with state management
  • Nodes - Agent nodes, tool nodes, and custom workflow components
  • Executors - Workflow execution engine with configuration management
  • Tool System - Function decorators, registry, and execution framework
  • Embeddings - Vector embeddings for semantic search and retrieval
  • Document Loaders - Load and parse documents (PDF, DOCX, TXT, JSON, CSV, XML, HTML)
  • Text Splitters - Split documents into chunks (character, token, sentence, recursive)

For the complete list of classes, methods, and usage examples, see the Python API Reference.

Watch: GraphBit Observability & Tracing - Learn how to monitor and trace your AI workflows


Contributing to GraphBit

We welcome contributions. To get started, please see the Contributing file for development setup and guidelines.

GraphBit is built by a wonderful community of researchers and engineers.


Security

GraphBit is committed to maintaining security standards for our agentic framework. We recommend:

  • Using environment variables for API keys
  • Keeping GraphBit updated to the latest version
  • Using proper secret management for production environments

If you discover a security vulnerability, please report it responsibly through GitHub Security or via email rather than creating a public issue.

For detailed reporting procedures and response timelines, see our Security Policy.


License

GraphBit is licensed under a three-tier model:

Model Users Terms
Model A (Free Use) Individuals, academic institutions, small teams (≤10 users) Free for non-commercial use
Model B (Free Trial) Enterprise evaluation 30-day free trial
Model C (Enterprise) Commercial/production use Paid license required

Note: Redistribution is prohibited under all models without an explicit Enterprise License.

For complete terms and conditions, see the Full License.


Copyright © 2023–2026 InfinitiBit GmbH. All rights reserved.

Project details


Download files

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

Source Distribution

graphbit-0.6.1.tar.gz (213.2 kB view details)

Uploaded Source

Built Distributions

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

graphbit-0.6.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.3 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

graphbit-0.6.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

graphbit-0.6.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.0 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ ARM64

graphbit-0.6.1-cp39-abi3-win_amd64.whl (3.8 MB view details)

Uploaded CPython 3.9+Windows x86-64

graphbit-0.6.1-cp39-abi3-musllinux_1_2_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ x86-64

graphbit-0.6.1-cp39-abi3-musllinux_1_2_aarch64.whl (6.4 MB view details)

Uploaded CPython 3.9+musllinux: musl 1.2+ ARM64

graphbit-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.3 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ x86-64

graphbit-0.6.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.0 MB view details)

Uploaded CPython 3.9+manylinux: glibc 2.17+ ARM64

graphbit-0.6.1-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (7.3 MB view details)

Uploaded CPython 3.9+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file graphbit-0.6.1.tar.gz.

File metadata

  • Download URL: graphbit-0.6.1.tar.gz
  • Upload date:
  • Size: 213.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for graphbit-0.6.1.tar.gz
Algorithm Hash digest
SHA256 e355ecc8c51938f9e601847a636fb20d3078631655f1a6c734d0c07b0d04d3d7
MD5 c02929b938bb03fc010ced5b2cb06132
BLAKE2b-256 07244fe48444cbcf4433a2a8a1f8bf23ba5aee0ffb82d56bfec47e9c9b134981

See more details on using hashes here.

File details

Details for the file graphbit-0.6.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for graphbit-0.6.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d42feec43dce9beae733542626bbc553c0070228070fed9a9b7c4c34be80192a
MD5 0687ecc6ffb66d62884ff4e4ab78cdc4
BLAKE2b-256 4fdd852e6cc519dba9a3caaf02a9a992926e2bf971f45b1e309890dd32e6da1b

See more details on using hashes here.

File details

Details for the file graphbit-0.6.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for graphbit-0.6.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 79a68ff8fef6e1cb8a562b7c56f24e4c06174982dc7605e58cf20327b81bd7b7
MD5 f52bc3de3d401df8be39fd1d68477092
BLAKE2b-256 838262ccae7eded18a5095cd66578b74f5c7dd2f0026cf3053e4402ba831f2fc

See more details on using hashes here.

File details

Details for the file graphbit-0.6.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for graphbit-0.6.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f9cee8fb60aafed14102acd0854b68f553c43dc1afb6aa967bed650ffc12f992
MD5 e7d68c3c51372abf7f5f98c7575fe6d0
BLAKE2b-256 8776340643be9b18dd36ddef04161fa6b65a3aabe6d2181bf3dc7f2b9867a716

See more details on using hashes here.

File details

Details for the file graphbit-0.6.1-cp39-abi3-win_amd64.whl.

File metadata

  • Download URL: graphbit-0.6.1-cp39-abi3-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: CPython 3.9+, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for graphbit-0.6.1-cp39-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 2c1ad869b7e80faf27dac03a74db485c93c5f46af2e99f2d5426d87e0313ea6d
MD5 ba7e2c3fd65bd3844234de45d2ae7822
BLAKE2b-256 10e8473ea01a1c9afbd03d3bbd48bd4b565b30735f99918581fce8e18074f995

See more details on using hashes here.

File details

Details for the file graphbit-0.6.1-cp39-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for graphbit-0.6.1-cp39-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 7e1a85c9502fe40147ad4973f38da9af1cc7e2a570b8fa9e27691f5d939dae31
MD5 961fc985dd55f456b9f516c7f0192273
BLAKE2b-256 fa1414fa814b2cdb3303240615515dca6fed2e4174ec1e0fb23e55fafeb48630

See more details on using hashes here.

File details

Details for the file graphbit-0.6.1-cp39-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for graphbit-0.6.1-cp39-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e545bcc8c60649051c02749cb63fd5bfca61b01dcfb61e9bbeb46448aa371033
MD5 2c9bea4c5a48ffa8e62ee3594cc1cd69
BLAKE2b-256 4b766115a14f3e04a7414dc31ec456307767b6c6544910c688a649bad6bf6d88

See more details on using hashes here.

File details

Details for the file graphbit-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for graphbit-0.6.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b63c996284654d37d4c1d9dc5f1b8329239d3f5d5f0c71d2e64a989a66d70951
MD5 490e3e0fa8d605e61b9c804d9a1175eb
BLAKE2b-256 b5ecb5f6de6c32f758f4bd3414757988adede72efa1d3dbc3ac3607dab71deb2

See more details on using hashes here.

File details

Details for the file graphbit-0.6.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for graphbit-0.6.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 09f1a6e1ed71fd06fe2fb59eb281d16a24b46b726ad43440c320fcfd322bfedc
MD5 296134c0e13c8f5ef393b397def71c0d
BLAKE2b-256 0bc257adf3b33a25e0b88c235dcce552d3b783b7e1f28dbd4325a79e30e0f47b

See more details on using hashes here.

File details

Details for the file graphbit-0.6.1-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for graphbit-0.6.1-cp39-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 80fff770a1e1a6c0c3e970fcb9842a42cb71995c7265bda626b3ee44afb2a47f
MD5 3f178fcb6f8ce7dd9a70eec9e0112639
BLAKE2b-256 bebe9a977387e552ecdfc4e01bba1a29ffb87a298d1b4871baf1e55b25e080d6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page