Dependency Management ======================= Requirements ------------- FlexMeasures is built on the shoulder of giants, namely other open source libraries. Look into the ``pyproject.toml`` file to see what is required to run FlexMeasures or to test it, or to build this documentation. The ``pyproject.toml`` file specifies our general demands, and in the ``uv.lock`` file, we keep a set of pinned dependency versions, so we can all work on the same background (crucial to compare behavior of installations to each other). We use the excellent `uv `_ tool to manage our dependencies. First, `install uv `_, then run: .. code-block:: bash $ uv sync --group dev --group test To upgrade the dependencies to the latest compatible versions, we can run: .. code-block:: bash $ uv lock --upgrade Python versions ---------------- In addition, we support a range of Python versions (as you can see in the ``requires-python`` field in ``pyproject.toml``). Development generally happens on one specific Python version, namely the one specified in the ``python.version`` file. Still, we'd also like to be able to test FlexMeasures across all these versions. We've added that capability to our CI pipeline (GitHub Actions), so you could clone it an make a PR, in order to run them.