Leverage uv for documentation in nox session#1420
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 |
mtreinish
left a comment
There was a problem hiding this comment.
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.
| "sphinx-reredirects", | ||
| "sphinxemoji", | ||
| "ipykernel", | ||
| "lxml_html_clean", |
There was a problem hiding this comment.
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 <mtreinish@kortar.org> * 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 <mtreinish@kortar.org>
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,
sphinxandsphinx-jupyterpull a lot of packages so I think using a lock file is a good idea.I am not sold on using
uvfor other workflows, as currently they are fairly straightforward. We are also not a Python-only library, having to deal withuvtrying 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