Skip to content

Maintenance

Philipp Niedermayer edited this page Dec 19, 2025 · 7 revisions

Dependencies

Dependencies are managed with pip-compile, and CI is set up to update them regularly. See .github/workflows/dependencies.yaml. It will open PRs once in a while to keep dependencies updated. The workflow can also manually be triggered from the GitHub actions page at https://github.com/xsuite/xplt/actions/workflows/dependencies.yaml

Never push changes to the generated requirements/*.txt and .python-version files manually, they will be overwritten during the next CI run!

Add/update dependencies

  • Add package dependencies in pyproject.toml (consider using optional-dependencies)
  • Add further dependencies for the example notebooks in requirements/examples.in (package dependencies are added by default)
  • Add further dependencies for testing in requirements/tests.in (package and example dependencies are added by default)
  • Add further dependencies for building the sphinx docs in requirements/sphinx.in (package and example dependencies are added by default)

Push it to the dev branch, this will trigger CI to update the generated *.txt files for you.

Add/update python versions

  • Add python version in .github/workflows/dependencies.yaml and push to a new branch deps/add-python-3.XX
  • Run the workflow manually at https://github.com/xsuite/xplt/actions/workflows/dependencies.yaml against the deps/add-python-3.XX branch
  • This will generate requirements files for the new python version and open a PR against main (!)
  • Change the target of that PR to the deps/add-python-3.XX branch and merge it
  • In the deps/add-python-3.XX branch, also add the python version to .github/workflows/test.yaml, push and wait for CI to pass
  • If all looks good, merge the deps/add-python-3.XX branch
  • Edit the GitHub project settings > Branches > Branch protection rules > main and add "pytest (3.XX)" to the required status checks

Drop python versions

Clone this wiki locally