-
Notifications
You must be signed in to change notification settings - Fork 188
Leverage uv
for documentation in nox
session
#1420
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
Conversation
uv
for documentation in nox
session
Also, I am changing the documentation build to use edit: I also thought about making the documentation build in parallel by using |
Pull Request Test Coverage Report for Build 15229638757Details
💛 - Coveralls |
I will put this on hold until we merge #1440 |
@mtreinish this is now ready to review |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the idea of using a lockfile for docs it should hopefully make things more reliable longer term. I just had one inline question.
I also didn't hand check the uv lock file, I assume it's all correct since you just machine generated it.
"matplotlib>=3.4", | ||
"sphinx-reredirects", | ||
"sphinxemoji", | ||
"ipykernel", | ||
"lxml_html_clean", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this used for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Currently if you run nox -edocs
with Python 3.13 it fails. I had to add this dependency to make it work.
It has to do with Python 3.13 resolving a newer lxml or something of sorts.
I can confirm I have regenerated the Also, |
* Modernize setup.py * Farewell to retworkx * Add release note about retworkx removal * Move even more data to pyproject.toml * PEP 639 says this is deprecated * Add dependency groups later * Move even from setup.py to pyproject.toml * Migrate all setup.py to pyproject.toml * Move nox dependencies to pyproject.toml * Document new way to do debug builds now that we no longer use setup.py * Better way to phrase the documentation * Remove duplicate section * Try updating setuptools for coverage job * Add docs dependency group as well * Make description the same as the paper * This doesn't work yet * Pin uv in CI * Make workflow work with newer Python versions * Pass frozen via environment variables * Update CONTRIBUTING.md to mention uv.lock procedures * Explicitly install rustworkx and use debug mode * Use multiple threads in sphinx * Don't make -j auto mandatory in CI * Document how to build faster in the guide * Fix typo * Revert retworkx code * Say this will be the last retworkx release * Trying to make retworkx work * retworkx has its own setup.py * Account for new directory when publishing * Document setuptools-rust * Edit message saying it is the final release * sunset -> retired * Endline * Frozen is implied * Ensure setuptools-rust is up-to-date * Use setuptools>=70.1.0 and remove wheel * Apply suggestions from code review Co-authored-by: Matthew Treinish <[email protected]> * Black * Use dependency groups in CI * Trying a newer setup-tools * Fix coverage * testinfra -> releaseinfra * Pip 25.1 arrives by default on GitHub * Fix py-project toml * Update uv in uv.lock * Use uv 0.7.8 * Use uv 0.7.8 (pyproject.toml) --------- Co-authored-by: Matthew Treinish <[email protected]>
Closes #1416
This PR introduces uv into our documentation workflow.
Overall, I think this accomplishes the goal of having a more reliable docs workflow. Currently, we pin some dependencies but it is still a workflow that has some quirks. Also,
sphinx
andsphinx-jupyter
pull a lot of packages so I think using a lock file is a good idea.I am not sold on using
uv
for other workflows, as currently they are fairly straightforward. We are also not a Python-only library, having to deal withuv
trying to cache might be annoying. But withreuse_venv=False
, I am somewhat confident we will not run into that issue for the docs.edit: after #1419 and #1440 merged this is ready for review