Skip to content

Conversation

@tokoko
Copy link
Collaborator

@tokoko tokoko commented May 1, 2024

What this PR does / why we need it:

This PR makes a number of changes to the make commands and dev guide:

  • docs now recommend using uv for setting up local development. I changed env install step (step 9) to run make 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...)
  • Changed all lock-python commands to use uv instead of pip-tools. dev guide now recommends the usage of lock-python-dependencies-all command 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 add feast (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.

7. (Optional) install pixi
pixi is necessary to run step 8 for all python versions at once.
```sh
brew install mysql

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We removed this?

Copy link
Collaborator Author

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

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?

Copy link
Collaborator Author

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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice

@jeremyary jeremyary added ok-to-test do-not-merge/hold-for-feedback Initiative needs time for community feedback and removed do-not-merge/hold-for-feedback Initiative needs time for community feedback ok-to-test labels May 1, 2024
tokoko added 2 commits May 7, 2024 19:01
Signed-off-by: tokoko <togurg14@freeuni.edu.ge>
Signed-off-by: tokoko <togurg14@freeuni.edu.ge>
Signed-off-by: tokoko <togurg14@freeuni.edu.ge>
@jeremyary jeremyary merged commit 34d3635 into feast-dev:master May 8, 2024
@tokoko tokoko deleted the lock-uv branch May 8, 2024 16:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants