Installation
curl -fsSL https://tamnd.github.io/bunpy/install.sh | bashThat’s the install. One command, no prerequisites. bunpy is a single static binary written in Go – it ships its own Python 3.14 runtime (goipy), its own package manager, and its own bundler. There is nothing else to install.
macOS and Linux
Run the install script:
curl -fsSL https://tamnd.github.io/bunpy/install.sh | bashThe script:
- Detects your OS and CPU architecture.
- Downloads the correct binary from the releases page.
- Places it at
~/.bunpy/bin/bunpy. - Prints instructions to update your
PATH.
Add bunpy to your PATH permanently by appending this line to ~/.bashrc, ~/.zshrc, or whatever profile your shell loads:
export PATH="$HOME/.bunpy/bin:$PATH"Then reload your shell:
source ~/.zshrc # or ~/.bashrcVerify
bunpy --version
# bunpy 0.10.29 (linux/amd64)Supported platforms
| Platform | Architecture |
|---|---|
| macOS | x86_64, arm64 (Apple Silicon) |
| Linux | x86_64, arm64 |
| Windows | x86_64 |
Homebrew (macOS and Linux)
If you prefer Homebrew:
brew tap tamnd/bunpy
brew install bunpyHomebrew manages upgrades through the normal brew upgrade flow.
Windows
Download the latest .zip archive for Windows from the releases page. Extract it and add the folder containing bunpy.exe to your system PATH.
Using PowerShell (run as Administrator):
$dest = "$env:USERPROFILE\.bunpy\bin"
New-Item -ItemType Directory -Force -Path $dest | Out-Null
# Copy bunpy.exe to $dest, then:
[Environment]::SetEnvironmentVariable("PATH", "$dest;" + $env:PATH, "User")Restart your terminal and verify:
bunpy --versionUpgrading
bunpy upgradeThis downloads and replaces the current binary in place. Re-running the install script has the same effect.
To upgrade to a specific version:
bunpy upgrade --version 0.10.29Pinning a version
You can pin a specific release by passing BUNPY_VERSION to the install script:
BUNPY_VERSION=0.10.29 curl -fsSL https://tamnd.github.io/bunpy/install.sh | bashThis is useful in CI environments where you want reproducible builds regardless of what the latest release is.
Docker
The official image is available on Docker Hub:
FROM tamnd/bunpy:latest
WORKDIR /app
COPY pyproject.toml uv.lock ./
RUN bunpy install --frozen
COPY . .
CMD ["bunpy", "run", "src/main.py"]For a specific version:
FROM tamnd/bunpy:0.10.29The image is Alpine-based and weighs around 80 MB compressed.
CI environments
GitHub Actions
- name: Install bunpy
run: curl -fsSL https://tamnd.github.io/bunpy/install.sh | bash
- name: Add bunpy to PATH
run: echo "$HOME/.bunpy/bin" >> $GITHUB_PATHGitLab CI
before_script:
- curl -fsSL https://tamnd.github.io/bunpy/install.sh | bash
- export PATH="$HOME/.bunpy/bin:$PATH"Uninstalling
rm -rf ~/.bunpyThen remove the export PATH line from your shell profile. If you installed via Homebrew, use brew uninstall bunpy instead.
What is installed
| Path | Contents |
|---|---|
~/.bunpy/bin/bunpy | The bunpy binary |
~/.cache/bunpy/wheels/ | Downloaded wheel cache (populated on first bunpy install) |
The binary is self-contained. All Python stdlib modules are embedded inside it – no system Python is required, and bunpy does not use your system Python even if one is present.