Shipping a standalone .ablx
One command produces one file that installs on Windows and macOS (Intel + Apple Silicon) alike — no per-OS build, no Python on the user's machine.
Build it
ableton-ext build my_ext.py
[build] wrote My-Tool-0.1.0.ablx (~6 MB) - one file, installs on Windows and macOS.
[build] drag it into Live -> Settings -> Extensions (no Developer Mode, no Python needed).
Give that single .ablx to anyone. They drag it into Live →
Settings → Extensions and it runs immediately.
How it works
The .ablx carries a WebAssembly Python runtime (Pyodide). On activation,
the extension runs your Python as WebAssembly inside Live — using Live's own bundled
Node, with nothing extra to install. Because WebAssembly is platform-agnostic and
nothing native ships, the same file works on every OS and CPU, and there is
no Gatekeeper / SmartScreen / antivirus warning.
app.run() under
if __name__ == "__main__": — the build runs the file as its entry point.Bundled assets
Most dialogs need no HTML at all — use app.ui.prompt / confirm /
choose. For a fully custom webview, put the markup in a .html file next to
your script (load it with Path(__file__).parent); ableton-ext build bundles
sibling .html / .css files automatically, so they work packaged too.
Options
| Flag | What |
|---|---|
-o out.ablx | Output path. |
--name / --author / --version | Override metadata. |
The two ways to run, recapped
Standalone .ablx | Dev loop | |
|---|---|---|
| How | ableton-ext build my_ext.py | ableton-ext install-bridge + ableton-ext run |
| Needs Python? | No | Yes (yours, while developing) |
| For | Shipping to users | Editing & testing fast |