Skip to content

thegamecracks/link-python

 
 

Repository files navigation

LinkPython-extern

PyPI Build Tests

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

Building from source

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

If 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 --recursive

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

License

Stars

Watchers

Forks

Contributors

Languages

  • Python 75.3%
  • C++ 22.5%
  • CMake 2.2%