-
Notifications
You must be signed in to change notification settings - Fork 7
Maintenance
Philipp Niedermayer edited this page Dec 19, 2025
·
7 revisions
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 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 python version in
.github/workflows/dependencies.yamland push to a new branchdeps/add-python-3.XX - Run the workflow manually at https://github.com/xsuite/xplt/actions/workflows/dependencies.yaml against the
deps/add-python-3.XXbranch - 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.XXbranch and merge it - In the
deps/add-python-3.XXbranch, 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.XXbranch - Edit the GitHub project settings > Branches > Branch protection rules > main and add "pytest (3.XX)" to the required status checks
- Remove the python version from
.github/workflows/dependencies.yamland.github/workflows/test.yaml, and delete therequirements/*-requirements-pyX.XX.txtfiles - Edit the GitHub project settings > Branches > Branch protection rules > main and remove "pytest (3.XX)" from the required status checks