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.0a1 | 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 | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| CPython 3.16+ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
* CPython 3.13's experimental free-threading builds are not supported.
If you want to build this package from source, you will need CMake installed. You however do not need to manually build the project, as scikit-build-core will handle invoking cmake when you install it with pip. To install directly from the main branch:
pip install git+https://github.com/thegamecracks/link-pythonIf building from the repository directly, make sure to clone all submodules using:
git clone --recurse-submodules https://github.com/thegamecracks/link-python
# or, if already cloned:
git submodule update --init --recursiveThis 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.