Installation
macOS & Linux (bash):
On this page ▾
Supported Platforms & Asset Coverage
| Binary File | Target OS / Environment | Target Architecture |
|---|---|---|
astwire-darwin-arm64 |
macOS (Apple Silicon: M1, M2, M3, M4) | ARM 64-bit (arm64) |
astwire-linux-amd64 |
Linux (Ubuntu, Debian, RedHat, standard cloud VMs) | Intel/AMD 64-bit (x86_64) |
astwire-linux-arm64 |
Linux (AWS Graviton, Raspberry Pi, Apple Silicon Docker) | ARM 64-bit (aarch64/arm64) |
astwire-windows-amd64.exe |
Windows 10, 11, Server | 64-bit (x86_64) |
1. Quick Install (Recommended)
# latest
curl -fsSL https://install.djangoplay.org/astwire | bash
# specific version — note the -s -- before args when piping into bash
curl -fsSL https://install.djangoplay.org/astwire | bash -s -- v0.1.0Windows (PowerShell as Administrator):
# latest
irm https://install.djangoplay.org/astwire.ps1 | iex
# specific version
$env:ASTWIRE_VERSION = "v0.1.0"; irm https://install.djangoplay.org/astwire.ps1 | iex2. Build Native Binary From Source
For customized environments, build via the provided script rather than invoking Nuitka directly — it resolves the version from pyproject.toml, sets up onefile caching, and stamps the binary's version metadata for you:
git clone https://github.com/codefleetx/astwire.git
cd astwire
# Install compilation prerequisites into your virtualenv
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]" # includes nuitka
# Compile into a standalone single-file binary
make compile
./bin/astwire --versionmake compile runs scripts/install/compile.sh, which reads the current version out of pyproject.toml, generates src/_version.py so it's baked into the binary (so astwire --version always matches the package version), and invokes Nuitka with --standalone --onefile --prefer-source-code. The resulting binary is written to bin/astwire.
3. Build Native Binary From Source
For customized environments, or platforms without a prebuilt binary (macOS Intel):
git clone https://github.com/codefleetx/astwire.git
cd astwire
# Install compilation prerequisites
pip install -U nuitka zstandard
# Compile into a standalone single-file binary
PYTHONPATH=. "$PYTHON_BIN" -m nuitka \
--standalone \
--onefile \
--product-version="$VERSION_TAG" \
--file-version="$VERSION_TAG" \
--onefile-tempdir-spec="{CACHE_DIR}/astwire/{VERSION}" \
--remove-output \
--assume-yes-for-downloads \
--prefer-source-code \
--include-package=src \
--output-dir=bin \
--output-filename=astwire \
src/cli.py
chmod +x bin/astwire
echo "==> Build complete: ./bin/astwire"
./bin/astwire --versionSee ../deployment/local-development.md for the full local build/test workflow.
Verify Installation
astwire --version
astwire --helpUninstallation
CLI Uninstall (recommended)
astwire --uninstallRemoves the binary and any local configuration files (.astwire.toml, .astwireignore, in both the current directory and $HOME). On Windows, this schedules a detached PowerShell process to remove the install directory and clean the user PATH entry once the running process exits.
Manual Uninstall
Because astwire is a self-contained, standalone single-file binary, manual uninstallation just means removing the binary and any local config:
macOS & Linux:
# Remove the global binary
sudo rm -f /usr/local/bin/astwire
# Remove local configuration files (if created)
rm -f ~/.astwire.toml .astwire.toml .astwireignoreWindows (PowerShell):
# Remove installation directory
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Programs\astwire"
# Clean up user PATH environment variable
$UserPath = [Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::User)
$CleanPath = ($UserPath -split ";" | Where-Object { $_ -ne "$env:LOCALAPPDATA\Programs\astwire" }) -join ";"
[Environment]::SetEnvironmentVariable("Path", $CleanPath, [EnvironmentVariableTarget]::User)Upgrading
Re-running the original install command cleanly overwrites the existing binary — you do not need to uninstall first:
- macOS & Linux:
curl -fsSL https://install.djangoplay.org/astwire | bashmoves the latest binary directly over/usr/local/bin/astwire. - Windows:
irm https://install.djangoplay.org/astwire.ps1 | iexoverwritesastwire.exein%LOCALAPPDATA%\Programs\astwirein place.
The old binary is replaced atomically in-place either way.