Write Ableton Live extensions in Python (via the Bridge).
Project description
ableton-extensions
Write Ableton Live extensions in Python, on top of Ableton's official Extensions SDK.
Add right-click menu actions, read and write the Live Set (tracks, clips, notes, scenes, devices,
parameters, racks, take lanes, cue points), show modal dialogs and progress bars -- all from Python.
When you are done, build a single .ablx that installs on Windows and macOS with no Python on the
user's machine.
Beta. MIT-licensed. Not affiliated with or endorsed by Ableton AG.
Install
pip install ableton-extensions
Write an extension
from ableton_extensions import Extension, MidiClip
app = Extension("My Tool")
@app.context_menu("MidiClip", "Humanize")
def humanize(clip: MidiClip):
notes = clip.notes
for n in notes:
n.velocity = max(1, min(127, (n.velocity or 100) + 5))
clip.notes = notes
if __name__ == "__main__":
app.run()
Develop, then ship
ableton-ext install-bridge # writes a small bridge .ablx -- drag it into Live once
ableton-ext run my_ext.py # fast loop: right-click a MIDI clip -> "Humanize"
ableton-ext build my_ext.py # -> one universal .ablx (~6 MB) to give to users
Your user drags the built .ablx into Live -> Settings -> Extensions. No Python, no Node, no
Developer Mode, no native binary -- the Python runs as WebAssembly inside Live, so the same file
works on Windows, Intel Mac, and Apple Silicon.
Limits
Request/response only: no observers, no transport/playback, no automation; device parameter values are raw internal numbers. The SDK can only do what Ableton's official Extensions SDK exposes.
Links
- Documentation and examples: https://github.com/XTERMINATORAPPS/ableton-python-sdk
- Homepage: https://www.xterminatorapps.shop
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ableton_extensions-0.0.4-py3-none-any.whl.
File metadata
- Download URL: ableton_extensions-0.0.4-py3-none-any.whl
- Upload date:
- Size: 6.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8fccf7dc3e96f3e7cd57be8c206c0c788d0e85cc59fbf13b122eee2a9a53401
|
|
| MD5 |
37ad096077f0d4d14c3fa1db72cce30f
|
|
| BLAKE2b-256 |
df7cdbf3921bf78f382537d3f84bc8af880153479a188a0d447bf1fdfb23fff6
|