Installation#
Requirements#
The JACK library must be installed on your system (and CFFI must be able
to find it). You should use your package manager to install it.
Make sure you install the JACK daemon (called jackd). This will also
install the JACK library package.
If you don’t have a package manager, you can try one of the binary installers
from the JACK download page.
If you prefer, you can of course also download the sources and compile
everything locally.
You’ll also need to install Python if you haven’t yet done so. There are many ways to install Python, and you can use any way you like, however, we recommend using uv as shown in the steps below.
You can install uv with your favorite package manager,
or by one of the other methods described at
https://docs.astral.sh/uv/getting-started/installation/.
If you don’t like uv, no problem!
You can also use Python’s official packaging tool pip or any other third-party tool,
as long as it can install the JACK-Client package.
Installation#
First, create a new directory wherever you want, change into it, then run:
uv init --bare
This will create a file named pyproject.toml for you.
Use the --help flag to see other options.
The jack module can now be installed with:
uv add JACK-Client
This will also create a file named uv.lock, which tracks the exact versions
of all installed packages.
NumPy is only needed if you want to access the input and output buffers in
the process callback as NumPy arrays.
The only place where NumPy is needed is jack.OwnPort.get_array()
(and you can use jack.OwnPort.get_buffer() as a NumPy-less alternative).
If you need NumPy, you can install it with:
uv add numpy
Similarly, you can install other Python-related tools:
uv add ...
Once everything is installed, you can start working with the editor/IDE/tool
of your choice by simply prefixing it with uv run, for example:
uv run python
If you have a Python script (for inspiration see Example Programs),
e.g. my_script.py, you can run it with:
uv run my_script.py
If you want to install the latest development version of the JACK-Client, have a look at Contributing.