Project Dependencies#
Although this project contains pure Python code, it needs other dependencies to work correctly:
Python installation dependencies
Minimum dependencies that the program can run at all.
Testing dependencies
Dependencies used for testing.
Documentation Dependencies
For building the documentation.
System dependencies
These are explained in this topic.
All of the above points (except for the last one) are defined in the pyproject.toml
file.
Operating System#
The code is developed on openSUSE, but should work on any Linux distribution. The project will support MacOS too. It’s currently not planned to support Windows.
Note
If you use a different OS than Linux, dependency resolution may be challenging. Either the required package is not available for your OS or it is hard to get it right.
You may have a better experience developing in a virtual machine running openSUSE or using a Docker container.
Python#
The minimal Python version is defined in the pyproject.toml
file. It is strongly recommended to have the Python versions managed by uv.
Editor#
You can use any editor you like. Rudimentary support is available for VSCode.
External tools#
daps: Our tool to build documentation. This is an obligatory requirement. This adds other dependencies.
uv: The Python package and project manager. This is explained in Helper Tools.
make: Used to orchestrate the documentation build process.
jing <https://jing.nu/>: For validating the XML configuration files against their RNC schema.
gh <https://cli.github.com/>: The GitHub CLI, an optional tool for GitHub interactions. See GitHub CLI.