Skip to content

build: migrate project tooling from Poetry to uv#123

Merged
kiudee merged 2 commits intomasterfrom
poetry-to-uv
Oct 26, 2025
Merged

build: migrate project tooling from Poetry to uv#123
kiudee merged 2 commits intomasterfrom
poetry-to-uv

Conversation

@kiudee
Copy link
Owner

@kiudee kiudee commented Oct 26, 2025

Description

Migrated project tooling from Poetry to uv: adopted PEP 621 metadata, regenerated dependency locking with uv.lock, reworked Nox sessions to use
nox-uv, refreshed GitHub workflows to install/use uv, and updated docs/Makefile/guidelines to instruct contributors on the new workflow.

Motivation and Context

Standardize on uv for dependency management and automation so local development, CI, and releases use the same fast resolver. Removes the
Poetry dependency footprint while keeping the developer experience documented and reproducible.

How Has This Been Tested?

uv run --locked pytest tests
uv run --locked nox -s tests-3.13

Does this close/impact existing issues?

None.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.

Switch the package metadata to PEP 621, adopt setuptools, and generate a uv lockfile. Replace nox-poetry with nox-uv, default to uv-backed sessions, and ensure Provide a command or script to invoke with `uv run <command>` or `uv run <script>.py`.

The following commands are available in the environment:

- black
- blackd
- coverage
- coverage-3.13
- coverage3
- dependency-groups
- doc8
- docutils
- f2py
- flake8
- fonttools
- identify-cli
- ipython
- ipython3
- isort
- isort-identify-imports
- jsonschema
- jupyter
- jupyter-dejavu
- jupyter-execute
- jupyter-kernel
- jupyter-kernelspec
- jupyter-migrate
- jupyter-nbconvert
- jupyter-run
- jupyter-troubleshoot
- jupyter-trust
- keyring
- lint-dependency-groups
- markdown-it
- nodeenv
- normalizer
- nox
- numpy-config
- numpydoc
- pip
- pip-install-dependency-groups
- pip3
- pip3.13
- pre-commit
- py.test
- pyaml
- pybabel
- pycodestyle
- pyflakes
- pyftmerge
- pyftsubset
- pygmentize
- pytest
- python
- python-argcomplete-check-easy-install-script
- python3
- python3.13
- register-python-argcomplete
- restructuredtext-lint
- rst-lint
- rst2html
- rst2html4
- rst2html5
- rst2latex
- rst2man
- rst2odt
- rst2pseudoxml
- rst2s5
- rst2xetex
- rst2xml
- sphinx-apidoc
- sphinx-autogen
- sphinx-build
- sphinx-quickstart
- tox-to-nox
- tqdm
- ttx
- twine
- virtualenv
- watchmedo
- wheel

See `uv run --help` for more information. drives local testing. Refresh CI and release workflows to install uv, run nox through uv, and build/publish distributions with uv. Update contributor docs and installation instructions to reflect the new tooling.
@kiudee kiudee merged commit f48b97f into master Oct 26, 2025
24 checks passed
@kiudee kiudee deleted the poetry-to-uv branch October 26, 2025 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant