Python at Go speed
An all-in-one Python toolkit. Runtime, package manager, bundler, test runner, and formatter in one fast static binary.
curl -fsSL https://tamnd.github.io/bunpy/install.sh | bash
bunpy --version
# bunpy 0.11.15macOS (arm64, x64) · Linux (arm64, x64) · Windows (x64)
Designed for speed
Written in Go. Cold starts in milliseconds, package resolution in seconds, no Python subprocess fan-out.
All in one
Replaces pip, pytest, ruff, and black. A single ~4 MB static binary. Copy it anywhere and it works.
Zero config
Drop a pyproject.toml and run bunpy install. No virtualenv, no requirements.txt, no activation step.
Package manager
Install, lock, and update PyPI packages. Reads pyproject.toml. Workspaces, overrides, audits, patches.
HTTP server
bunpy.serve handles routing, parsing, and response serialisation in Go. No framework required.
Bundler
Bundle to a portable .pyz archive or compile to a self-contained native binary.
Test runner
Run tests with bunpy test. Built-in coverage, reporters, filtering, and lifecycle hooks.
Web globals
fetch, URL, Request, Response, and WebSocket are available in every script. No import needed.
Native modules
SQL, Redis, S3, JWT, crypto, YAML, CSV, cron, and password hashing ship with the binary.
| bunpy | python + pip + venv | |
|---|---|---|
| Runtime included | yes (Python 3.14) | requires CPython |
| Package install | built-in bunpy add | pip + manual venv |
| Test runner | built-in bunpy test | pytest (separate) |
| Bundler | built-in bunpy build | shiv / pyinstaller |
| Formatter | built-in bunpy fmt | black / ruff (separate) |
| HTTP server | built-in bunpy.serve | flask / fastapi |
| Native binary executable | bunpy build --compile | not supported |
# server.py
from bunpy.serve import serve
def handler(req):
name = req.query.get("name", "world")
return f"Hello, {name}!"
serve(handler, port=3000)bunpy server.py
# Listening on http://localhost:3000# fetch is available globally, no import needed
resp = fetch("https://api.github.com/repos/tamnd/bunpy")
print(resp.json()["stargazers_count"])# Package manager
bunpy add requests fastapi
bunpy install --frozen
bunpy pm lock| Command | What it does |
|---|---|
bunpy script.py | Run a Python script |
bunpy add requests | Add a dependency |
bunpy install | Install from pyproject.toml |
bunpy pm lock | Resolve and pin all dependencies |
bunpy build app.py | Bundle to app.pyz |
bunpy test | Run tests |
bunpy fmt src/ | Format source |
bunpy repl | Interactive REPL |