A Python wrapper for Ableton Link, forked from gonzaloflirt's link-python to streamline the user experience with new methods, type stubs, and pre-built wheels.
from link import Link
link = Link(120)
clock = link.clock()
micros = clock.micros()
state = link.captureAppSessionState()
beat = state.beatAtTime(micros, 4)
phase = state.phaseAtTime(micros, 4)You can see the full API documentation in __init__.pyi, or look at
the LinkHut.py example which is equivalent to Ableton Link's
linkhut example.
For asyncio usage, consider trying out artfwo's aalink project!
This project can be installed from PyPI under the LinkPython-extern name:
pip install LinkPython-externNote that we are not the same as LinkPython, which is a different fork of link-python by munshkr.
| v1.0.0 | v1.0.1 | v1.0.4 | v1.1.0 | v1.2.0 | v1.3.0a3 | main | |
|---|---|---|---|---|---|---|---|
| CPython 3.6 | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| CPython 3.7 | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ |
| CPython 3.8 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ |
| CPython 3.9 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | *️⃣ |
| CPython 3.10 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | *️⃣ |
| CPython 3.11 | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | *️⃣ |
| CPython 3.12 | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ | *️⃣ |
| CPython 3.13¹ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | *️⃣ |
| CPython 3.14 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | *️⃣ |
| CPython 3.15+ | ❌ | ❌ | ❌ | ❌ | ❌ | *️⃣ | *️⃣ |
✅ This library version provides prebuilt wheels on PyPI for the given Python version.
*️⃣ This library version does not provide prebuilt wheels, but may be compiled from source.
❌ This library version cannot be compiled for the given Python version.
¹ CPython 3.13's experimental free-threading builds are not supported.
If you want to build this package from source, you will need CMake and a suitable C++ compiler like g++ (Linux) or MSVC (Windows).
To explicitly compile from a PyPI release:
pip install LinkPython-extern --no-binary LinkPython-externTo compile from our main branch:
pip install git+https://github.com/thegamecracks/link-pythonTo compile from a clone of the repository, make sure to clone all Git submodules beforehand:
git clone --recurse-submodules https://github.com/thegamecracks/link-python
pip install .
# or, if already cloned:
git submodule update --init --recursive
pip install .This project is written under Unlicense but also depends on, among other libraries, Ableton Link and pybind11. Please mind the licenses of those libraries and their dependencies.