This release is a pre-release and may not be stable for production use.
Bub
Bub is a small Python runtime for building agents in shared environments. It started in group chats, where multiple humans and agents had to work in the same conversation without hidden state, hand-wavy memory, or framework-specific magic.
Built on agents.md and Agent Skills, Bub stays intentionally small. Every turn stage is a pluggy hook, builtins are replaceable, and the same runtime drives CLI, Telegram, and any channel you add.
Quick Start
macOS and Linux:
curl -fsSL https://bub.build/install.sh | bash
Windows PowerShell:
powershell -ExecutionPolicy ByPass -c "irm https://bub.build/install.ps1 | iex"
Then:
bub chat # interactive session
bub run "summarize this repo" # one-shot task
bub gateway # channel listener mode
See Getting Started for installer presets and source installs, and Configure for model and runtime settings.
Why Bub
- Composable by design. Every turn stage is a plugin hook. Override one stage or replace the whole flow without forking the runtime.
- Tape context. Context is rebuilt from append-only records, not carried around as mutable session state. Easier to inspect, replay, and hand off.
- One runtime across surfaces. The same inbound pipeline runs across CLI, Telegram, and custom channels. Adapters change the surface, not the runtime model.
- Batteries included. CLI, Telegram, tools, skills, and model execution ship with the core runtime. Use the defaults first, replace them later.
- Operator equivalence. Humans and agents work inside the same runtime boundaries, with the same evidence trail and handoff model.
- Embeddable Python SDK.
pip install bubinstalls onlybub.core, which exposes the agent loop on its own (the CLI, channels and plugins come withbub[app]) — bring your own model, tools, prompts, and tape store, with no settings or plugins required.
How It Works
Every inbound message goes through one turn pipeline. Each stage is a hook.
resolve_session → load_state → build_prompt → run_model
↓
dispatch_outbound ← render_outbound ← save_state
Builtins are registered first and external plugins load after them, so later plugins take precedence. There are no framework-only shortcuts.
Docs
- Getting Started — install Bub and run the first turn
- Concepts — the mental model behind the runtime
- Python SDK — embed Bub's agent loop in your own application
- Build — write plugins, override hooks, ship tools and skills
- Bub Hub — browse community plugins, skills, and distributions
- Channels — run Bub in CLI, Telegram, or your own channel
- Deployment — Docker, environment, upgrades
Background
License
Metadata
Release files for bub 0.6.0a2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| bub-0.6.0a2.tar.gz | 255.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| bub-0.6.0a2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 448.1 kB
Release files / bub-0.6.0a2.tar.gz
| Download URL | bub-0.6.0a2.tar.gz |
|---|---|
| Size | 255.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0d456efd8fa02ed706c7a9ec15a24e3d1a855e97bc667309787e84548e770bd9
|
|
BLAKE2b-256 checksum How to use checksums |
d97e4e1fdb05142119cd9eb8fbe700ef2e764b5c0aaa03677b090cc19bd77b2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.6.14
|
Release files / bub-0.6.0a2-py3-none-any.whl
| Download URL | bub-0.6.0a2-py3-none-any.whl |
|---|---|
| Size | 192.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0a71432eb0268e502b6f09462552b68f9e87beb9f05a5aa5d800b84bffe043a3
|
|
BLAKE2b-256 checksum How to use checksums |
2620a196d56872499d13660a2bf2aecaae9243c3b469616b59ad13ef33a56438
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.6.14
|