Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

BRIAN

BRIAN

A self-hosted agent runtime. Model, loop, tools, memory, permissions.

PyPI Python License

pip-installable as brian-core 2.0.0rc2. The command is brian.

curl -LsSf https://astral.sh/uv/install.sh | sh && uv tool install brian-core && brian

First run asks for a provider and key, writes ~/.brian/.env (mode 0600), and opens the REPL. Bring your own LLM key. The wheel is code — memory and sessions start empty, in ~/.brian.

What you get

Door How
CLI brian
HTTP API brian --api
Agent SDK from brian_core.sdk import run — same loop, in-process, not HTTP

BrianClient talks to the HTTP API. It is not the Agent SDK.

from brian_core.sdk import run, stream

print(run("list python files"))
for event in stream("list python files"):
    ...

Twelve providers (Anthropic, OpenAI, Gemini, Bedrock, OpenRouter, DeepSeek, Mistral, xAI, Ollama, LM Studio, plus generic gateways). Seventy tools: shell, files, browser, desktop, web, media, MCP, subagents, durable runs that survive a crash.

From this repo

Git, Python 3.11+, uv. Code lives under src/brian_core.

git clone https://github.com/mrgizmo212/Brian.git
cd Brian
uv sync
uv run brian --help
uv run brian
uv run brian "list python files"

Optional extras: providers, hosted.

Modes

uv run brian                         # REPL
uv run brian "do this"               # one shot
uv run brian --continue              # last session
uv run brian --resume <session-id>
uv run brian --fork-session <id>
uv run brian --tui
uv run brian --api
uv run brian --scheduler
uv run brian --heartbeat-only
uv run brian --learning-graph
uv run brian --version

One mode per invocation. --api requires API_SERVER_KEY.

HTTP API

uv run brian --api
curl -fsS http://127.0.0.1:8000/health
curl -fsS http://127.0.0.1:8000/v1/chat/completions \
  -H "Authorization: Bearer $API_SERVER_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model":"agent","messages":[{"role":"user","content":"Say hello."}]}'
Endpoint Purpose
POST /v1/chat/completions Chat, streaming or not
POST /v1/runs Durable run
GET /v1/runs/{id}/events SSE
POST /v1/runs/{id}/approval Human approval
GET /v2/capabilities Machine-readable surface

Self-host with Docker: deploy/README.md.

Config

Settings live in ~/.brian/.env (or BRIAN_ENV_FILE). Names are in env.example. Required: PROVIDER, MODEL, and that provider's key.

Override the home directory with BRIAN_HOME.

Docs

License

Apache License 2.0. Copyright 2026 TTG AI LLC. See LICENSE and NOTICE.

Download files

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

Source Distribution

brian_core-2.0.0rc2.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

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

brian_core-2.0.0rc2-py3-none-any.whl (977.7 kB view details)

Uploaded Python 3

File details

Details for the file brian_core-2.0.0rc2.tar.gz.

File metadata

  • Download URL: brian_core-2.0.0rc2.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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":null}

File hashes

Hashes for brian_core-2.0.0rc2.tar.gz
Algorithm Hash digest
SHA256 f0abfad89613680622ac11f45e1280a3290c605d0c36944215005fc55ceef671
MD5 482719d32b730f382af1772921c274f0
BLAKE2b-256 759145987c55ac6133e96d324aecb01d4b7e823e13c6dfe04bce4a1cc34c2d07

See more details on using hashes here.

File details

Details for the file brian_core-2.0.0rc2-py3-none-any.whl.

File metadata

  • Download URL: brian_core-2.0.0rc2-py3-none-any.whl
  • Upload date:
  • Size: 977.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","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":null}

File hashes

Hashes for brian_core-2.0.0rc2-py3-none-any.whl
Algorithm Hash digest
SHA256 ae997561ef987e62ba38b5cb3f0f51b36b203103cce5ab635c75d71796d941dc
MD5 a590124b29086cbfeef9df2115af6321
BLAKE2b-256 67ff08024611d746c9235a3a0726562eccc8e3a7619540ab41d51e8f77cc38fb

See more details on using hashes here.

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