Download anz33
An application for every desktop platform, and a command line tool for every one of them too. Every build comes from the same tagged CI run and is listed in SHA256SUMS.
Mac app recommended
Drag it to Applications. anz33 runs in the menu bar: it starts the router, shows whether it is answering, and opens the dashboard.
The command line tool is inside the app — “Install Command Line Tool” in its menu links it into ~/.local/bin. One download is a complete install.
Homebrew
Two formulas because they install different things. Upgrade later with brew upgrade. Answer the one-time third-party tap prompt.
Shell installer
Detects Apple Silicon or Intel, verifies the download against SHA256SUMS, and installs onto your PATH.
Direct downloads
Self-contained — no Python needed. The zipped app is the same bundle as the disk image, for anyone scripting a deployment.
pipx · uv
Installs from PyPI. Needs Python 3.11+, and upgrades with the rest of your tools.
Installer recommended
Installs the tray app and the command line tool, with optional add-to-PATH and start-at-sign-in steps. The tray icon starts the router, shows its state and opens the dashboard.
Silent install with /VERYSILENT, and it uninstalls cleanly.
Portable — thumbdrive edition
anz33.exe and anz33-tray.exe, nothing to install, runs from anywhere.
PowerShell
Installs to your user profile — no administrator rights required — and adds itself to PATH.
Scoop
The manifest is regenerated by CI on every release, so scoop update tracks new versions. A winget submission is not yet filed.
AppImage recommended
chmod +x it and double-click: the router comes up and the dashboard opens. No package manager, no root.
The same file is the CLI — ./anz33.AppImage serve does exactly what it looks like.
Debian · Ubuntu
amd64 and arm64. Installs the CLI, a desktop entry and the icons, so anz33 shows up in your application launcher.
Fedora · RHEL · openSUSE
x86_64 and aarch64, same contents as the .deb.
Alpine · musl
There is deliberately no .apk: the prebuilt binary is linked against glibc and would not run on musl, and a package that installs cleanly then fails to start is worse than no package.
Any distribution
Prebuilt binary, no Python required. Built against glibc 2.35 so it runs on Ubuntu 22.04, Debian 12 and anything newer.
Anything with Python 3.11+
The .pyz is one file that runs on any Python, including musl systems like Alpine where the glibc binary will not.
From PyPI
The sdist and wheel are published on every release. pip install anz33 works the same way.
Build the binary yourself
The exact flags CI uses — including the uvicorn hidden imports that a bundler cannot see — are in .github/workflows/binaries.yml.
Build the apps
Each script takes the frozen binary from dist/. The Windows tray app is packaging/windows/tray.py, frozen the same way with --windowed.
One file, any Python
Runs on anything with Python 3.11+, including musl systems where the glibc binary will not. python3 anz33.pyz serve.
SHA256SUMS; run
shasum -a 256 -c SHA256SUMS and you know the bits are exactly what CI built.
Links resolve against the current GitHub release, so they stay correct after every update. Binaries are published to AzmxAI/anz33-releases.