Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a pip constraints file for our entire dependency tree #48947

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

gsnedders
Copy link
Member

This avoids problems such as #33015 where our unpinned (recursive) dependencies broke things for us, and moves us towards having deterministic Python environments.

Starting this as a draft because this does rather break dependabot, and it does really require uv to generate the constraints.txt file (because, unlike pip-tools's pip-compile, it supports a --universal flag which allows it to generate a constraint file that works everywhere).

We should probably start trying to tidy up many of what this leaves as requirements*.in files to only include direct dependencies, and then we can probably try to start to bump the versions we're using.

bbf5d49 bumped the version of Sphinx, and in doing so broke the
ability to build the docs on Python 3.8, which in theory we still
support.

To avoid changing the version we actually use when deploying our
website, keep the current version pinned for 3.9, and introduce a new,
lower, pin for older Python versions (i.e., 3.8).
This ensures that we have a single set of requirements for everything
we depend on, and avoids risks of mutually incompatible updates
occuring.
This hasn't been needed since 7eed90b, so we should just drop it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants