Skip to main content

Graph-native multi-agent fleet for Python. BYO-key. Local-first.

Project description

bottensor-fleet

Graph-native multi-agent fleet for Python. BYO-key. Local-first. Ships with a UI.

PyPI Python License

Why

Most multi-agent frameworks are heavy and locked to one ecosystem. LangGraph is tied to LangChain. CrewAI is opinionated about roles. AutoGen is conversation-first. bottensor-fleet is a small, graph-native runtime that runs anywhere Python runs, lets you bring your own provider key, and ships with a real UI in the wheel.

Install

pip install 'bottensor-fleet[search]'
export ANTHROPIC_API_KEY=sk-ant-...

Extras: [search] adds web tools, [redis] adds Redis checkpointing, [all] gets everything.

30-second example

import asyncio
from fleet import Agent, Graph
from fleet.core.state import GraphState
from fleet.providers.client import FleetLLM

llm = FleetLLM("claude", "claude-sonnet-4-6")
researcher = Agent(name="researcher", llm=llm, tools=["web_search", "web_fetch"])

graph = (
    Graph("solo")
    .add_node("researcher", researcher.step)
    .set_entry("researcher")
    .set_exit("researcher")
    .compile()
)

state = asyncio.run(graph.run(GraphState(goal="What is ReasoningBank?")))
print(state.messages[-1].content)

UI

fleet ui

Opens a local dashboard at http://localhost:8765 with a live DAG view, per-agent logs, token spend, and run history.

CLI

Command What it does
fleet new <name> Scaffold a new graph
fleet run <graph.py> Run a graph from a file
fleet replay <run_id> Re-run a past graph from its saved source path
fleet examples [name] List bundled examples or extract one to the current directory
fleet ui Launch the local dashboard
fleet add-agent Append an agent to an existing graph
fleet ls List past runs
fleet --version Print version

Design

  • Graph-native: DAGs with conditional edges and bounded cycles, executed async with asyncio.gather for parallel fan-out.
  • BYO-key: Provider abstraction via polyrt. Anthropic and OpenAI in the default install; MLX, Ollama, and others via polyrt extras.
  • Checkpointed: Every run persists to SQLite (default) or Redis (opt-in via [redis] extra).
  • Tools and skills: @tool decorator auto-derives JSON schemas from type hints. @skill for higher-level capabilities. Web search and fetch built in via the [search] extra.
  • UI in the wheel: No separate Node install for users. The React + Vite frontend is bundled into the published wheel.

Comparison

bottensor-fleet LangGraph CrewAI AutoGen
Graph topology ✅ DAG + cycles ❌ role-based ❌ conversation
Provider-agnostic ✅ via polyrt ⚠️ via LangChain ⚠️ ⚠️
Ships with UI ⚠️ Studio (separate)
Pip-install size ~150 KB wheel heavy medium heavy
LangChain dependency ✅ required

Roadmap

  • v0.2 — ReasoningBank (Ouyang et al., ICLR 2026): self-evolving agents that learn from successful and failed trajectories. Memory-aware test-time scaling (MaTTS).
  • v0.3 — MLX embedder, sequential MaTTS, distributed scheduler.
  • v0.4 — Vector memory backend, cloud deploy templates.

Security

The python_exec tool is unsandboxed in v0.1.x. Do not run untrusted graphs. A Docker sandbox lands in v0.2.

License

Apache-2.0. © 2026 Rama Krishna Bachu.

Acknowledgements

Built on polyrt. ReasoningBank design (v0.2) follows Ouyang et al., ReasoningBank: Scaling Agent Self-Evolving with Reasoning Memory, ICLR 2026.

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

bottensor_fleet-0.1.2.tar.gz (185.2 kB view details)

Uploaded Source

Built Distribution

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

bottensor_fleet-0.1.2-py3-none-any.whl (153.7 kB view details)

Uploaded Python 3

File details

Details for the file bottensor_fleet-0.1.2.tar.gz.

File metadata

  • Download URL: bottensor_fleet-0.1.2.tar.gz
  • Upload date:
  • Size: 185.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for bottensor_fleet-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9fb20cf58b0c9c0dd4d0d780b15ac0f239011180256f829d7e1295d57b6b61aa
MD5 e26df9ded2ae8b573673f575e3d3715b
BLAKE2b-256 7169ce04247b4ba6eb17ca6cf99480a30180747b089607ae996ca5d0add70a6f

See more details on using hashes here.

File details

Details for the file bottensor_fleet-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: bottensor_fleet-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 153.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.9 {"installer":{"name":"uv","version":"0.11.9","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for bottensor_fleet-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4761998f85b07f8eed1cedbc125a74443d22bd0cf2527a762f99141977193fb9
MD5 8e8483094a20d2bd9e873eff283f2caf
BLAKE2b-256 7553d1a9994aba18f5bdbb566d59fbb0d2cb094d5e8d9095732ca20c729af394

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