-
Notifications
You must be signed in to change notification settings - Fork 1.2k
chore: Change dev workflow to use uv (and pixi) both for lock and install #4166
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
| 7. (Optional) install pixi | ||
| pixi is necessary to run step 8 for all python versions at once. | ||
| ```sh | ||
| brew install mysql |
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.
We removed this?
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.
This was necessary for mysqlclient which was removed in #3925. pymysql doesn't require any native dependencies.
|
|
||
| This will allow the installed feast version to automatically reflect changes to your local development version of Feast without needing to reinstall everytime you make code changes. | ||
|
|
||
| 10. Compile the protubufs |
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.
Do we no longer need the compile the protos? if someone makes a Message change we will, no?
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.
We do, it's just part of the make install-python-ci-dependencies-uv already
| This will allow the installed feast version to automatically reflect changes to your local development version of Feast without needing to reinstall everytime you make code changes. | ||
|
|
||
| 10. Compile the protubufs | ||
| make lock-python-dependencies-all |
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.
nice
Signed-off-by: tokoko <togurg14@freeuni.edu.ge>
Signed-off-by: tokoko <togurg14@freeuni.edu.ge>
Signed-off-by: tokoko <togurg14@freeuni.edu.ge>
What this PR does / why we need it:
This PR makes a number of changes to the make commands and dev guide:
uvfor setting up local development. I changed env install step (step 9) to runmake install-python-ci-dependencies-uv, which differs from the current version in 2 ways: 1) It's using uv instead of pip 2) It's installing package versions from the lock file rather than resolving versions from pypi. This will make local env more predictable and comparable to ci environment which uses the same make command. (Let me know if you disagree with this...)lock-pythoncommands to use uv instead of pip-tools. dev guide now recommends the usage oflock-python-dependencies-allcommand to update lock files. This command relies on uv and pixi to update lock files for all python versions. (if you want to avoid pixi dependency, you can still run individual commands for each python env) Note that it's important that we all switch to using uv for lock file updates as lock files generated aren't 100% identical to pip-tools generates files in terms of formatting. (see diffs in this PR for an example, the biggest difference is that uv doesn't addfeast (setup.py)comment in the files) If some people still keep using pip-tools and others switch to uv for locking, we will generate unnecessary formatting diffs in lock files.