Contributing#
If you find bugs, errors, omissions or other things that need improvement, please create an issue or a pull request at https://github.com/spatialaudio/jackclient-python. Contributions are always welcome!
Instead of installing the latest release from PyPI, you should get the newest development version from GitHub:
git clone https://github.com/spatialaudio/jackclient-python.git
cd jackclient-python
uv sync
uv run jack_build.py
This way, your installation always stays up-to-date, even if you pull new changes from the GitHub repository.
Note
Whenever the file jack_build.py changes (either because you edited it or
it was updated by pulling from GitHub or switching branches), you have to
run the last command again.
Building the Documentation#
If you make changes to the documentation,
you can locally re-create the HTML pages using Sphinx
(which will be automatically installed as part of the development dependencies).
From the main jackclient-python directory, run:
uv run sphinx-build doc _build
The generated files will be available in the directory _build/.
While working on the documentation, it might be helpful to re-run Sphinx whenever something changes. This can be done with:
uv run --with sphinx-autobuild sphinx-autobuild doc _build
Running the Tests#
There are no proper tests (yet?), but the code examples in the documentation can be verified with pytest (which is also part of the development dependencies). You can run the (rudimentary) tests with:
uv run python -m pytest
Editable Installation#
If you want to work in a different directory on your own files,
but using the latest development version (or a custom branch) of
the jack module, you can switch to a directory of your choice
and enter this:
uv init --bare
uv add --editable --no-workspace path/to/your/jackclient-python/repo
You can install further packages with uv add and then run
whatever you need with uv run.