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’s 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 manager. This is explained in Helper Tools.

  • make is used to build the documentation.

  • jing: for validation the XML configuration files.

  • gh: optional tool for interacting with GitHub, see GitHub CLI.

XML configuration#

Formerly known as the Docserv XML configs. These configuration files defines the products, their releases, their lifecycle status and more.

Clone the GL://susedoc/docserv-config or use the RNC schema from src/docbuild/config/xml/data/ to create this configuration.