-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Replaced pdm with uv #10727
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
Replaced pdm with uv #10727
Conversation
CodSpeed Performance ReportMerging #10727 will not alter performanceComparing Summary
|
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.
Looking great, thanks so much for your help here!
I've got a few questions / change requests!
|
Very odd that we're seeing benchmark changes here... |
Benchmarks seem to be broken as they did not run and thus codspeed is for some reason reporting non sense results |
|
Maybe bumping to v3.0.0 will help... |
update sqlalchemy, codsoeed versions
I don't have any clue why benchmarks are changing here, I was looking for a fix. |
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.
Fixing the codspeed issue, hopefully :)
|
There is a conflict with pdm lock file, should I rebase it? |
|
All good, I can take it from here. Thanks! |
| run: | | ||
| pdm venv create --with-pip --force $PYTHON | ||
| pdm install -G docs | ||
| run: uv sync --python 3.12 --group docs |
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.
uv automatically checks requires-python constraints and use that python version. Is it necessary to mention the python version again here?
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.
It does seem redundant...
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.
So the thing is uv will prefer the specified version in the .python-version file if present, no matter the previously installed version. We currently don't have such a file, but it could be pretty bad if we end up creating one at some point, especially for the jobs with a Python version matrix: CI will only run on the version from .python-version, and we won't notice anything.
It's a bit unfortunate, probably using tox (and tox-uv) could help.
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.
when a python version matrix exists, then python version is specified with the sync command
uv sync --python ${{ matrix.python-version }}
So it will use the requested python version from matrix even the .python-version file exist
Co-authored-by: Farhadur Reza Fahim <farhadur.fahim@gmail.com>
Co-authored-by: Farhadur Reza Fahim <farhadur.fahim@gmail.com>
Co-authored-by: Farhadur Reza Fahim <farhadur.fahim@gmail.com>
|
Seems like in some CI jobs, we run |
|
|
I've removed the unnecessary installs :) |
|
Unclear to me why that test is failing... investigating now. |
|
Any chance you could take a look here? |
|
Sure, investigating the issue 👀 |
|
Looks like we're installing an older version of Python 3.9 - not sure why - previously, it was |
|
It's using system python version, for macos 13 (with 3.9) it is 3.9.6
It looks like it's not using uv installed python version for macos 13 with 3.9 This command will fix the issue, but I am looking for a better solution |
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.
Thanks so much!! Great work!
Change Summary
This pull request is replacing the
pdmpackage manager withuvin the CI workflows and other related configurations. The changes ensure that the new package manager is correctly set up and used across various jobs and scripts.Makefile: Replaced
pdmcommands withuvfor tasks such as installing dependencies, running tests, and generating documentation.Related issue number
Fix: #10637
Checklist