Skip to content

thegamecracks/link-python

 
 

Repository files navigation

LinkPython-extern

PyPI Lints Tests Types Style

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!

Installation

This project can be installed from PyPI under the LinkPython-extern name:

pip install LinkPython-extern

Note that we are not the same as LinkPython, which is a different fork of link-python by munshkr.

Python compatibility

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.

Building from source

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-extern

To compile from our main branch:

pip install git+https://github.com/thegamecracks/link-python

To 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 .

License

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.

About

A fork of LinkPython with pre-built wheels on PyPI.

Topics

Resources

Stars

Watchers

Forks

Releases

Used by

Contributors

Languages