Skip to content

dev: migrate from poetry to uv as project manager #1253

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

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

NickCrews
Copy link
Contributor

@NickCrews NickCrews commented Mar 30, 2025

Fixes #1239 This is a fairly straightforward translation.

I switched the backend from poetry-core to pdm-backend because PDM follows standards more. But the functionality either provides is basic enough that there really is no difference, I can stick with poetry if you want.

I also updated noxfile.py so that I can run it locally. I did this by making the github actions stuff a no-op if it can't be imported.

A few followup tasks that I would like to do after this PR lands:

  • scrub the remaining references to python 3.8
  • add tests for python up to 3.13 (ideally) or 3.12 (if 3.13 isn't working yet)
  • Actually fix type hints so that mypy passes. Currently running mypy fails, we just don't see this in CI because in pythonapp.yaml we only run python 3.9 and 3.10, and in the noxfile we specify to only run mypy for 3.8

@NickCrews NickCrews force-pushed the uv branch 2 times, most recently from 93f38d3 to fcfb29a Compare March 30, 2025 19:41
@Mause
Copy link
Owner

Mause commented Apr 5, 2025

Is there any documentation anywhere on how pdm supports standards better?

@NickCrews
Copy link
Contributor Author

I meant in a general sense, PDM philosophy seems to be they prioritize standards more than poetry does. For example poetry came up with their own dependency specification format. For this specific case, as we use them just as a build backend, I don't actually know of any differences between them. Just in general am a little more trusting of PDM.

@Mause
Copy link
Owner

Mause commented Apr 6, 2025

Looks like this requires some more work:

warning: `VIRTUAL_ENV=.nox/tests-3-9-sqlalchemy-1-3-duckdb-0-9-2` does not match the project environment path `.venv` and will be ignored; use `--active` to target the active environment instead

@Mause
Copy link
Owner

Mause commented Apr 6, 2025

I meant in a general sense, PDM philosophy seems to be they prioritize standards more than poetry does. For example poetry came up with their own dependency specification format. For this specific case, as we use them just as a build backend, I don't actually know of any differences between them. Just in general am a little more trusting of PDM.

From what I recall, poetry predates most of those standards? Certain they predate the specification format, though they've since added support for the standard. Ultimately if nothing has changed, I'm okay with either

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.

Do you want me to help migrate this to uv?
2 participants