-
Notifications
You must be signed in to change notification settings - Fork 58
[UV] Convert project to UV #949
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
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.
Pull request overview
This PR converts the project from traditional pip/pipenv to UV as the package manager, adding modern Python packaging standards and comprehensive documentation.
Key Changes:
- Adds
pyproject.tomlwith full project metadata, dependencies, and build configuration using hatchling - Updates mlrun version requirement from >=1.0.0 to >=1.10.0
- Adds Makefile with common development tasks (sync, format, lint, test, cli)
- Adds comprehensive README.md with installation, usage, and contribution guidelines
Reviewed changes
Copilot reviewed 3 out of 5 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | New file defining project metadata, dependencies in both optional-dependencies and dependency-groups formats, and build system configuration |
| requirements.txt | Bumps mlrun minimum version from 1.0.0 to 1.10.0 for consistency with pyproject.toml |
| README.md | New comprehensive documentation covering installation with UV, CLI usage, contribution guidelines, and troubleshooting |
| Makefile | New file providing convenient shortcuts for common tasks (sync, format, lint, test, cli) |
| .gitignore | Adds UV-specific entries (.uv/ directory and uv.lock file) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
Pull request overview
Copilot reviewed 3 out of 5 changed files in this pull request and generated 6 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
danielperezz
left a comment
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.
Looks really good!!
Had just one question :)
Makefile
Outdated
| uv run black --check . | ||
| uv run isort --check-only . | ||
|
|
||
| test: ## Run tests for a specific function |
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.
Why do we only support this test command for functions and not all asset types?
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.
good point, fixed :)
it will be functions by default but you can provide TYPE=modules (or steps) for other assets
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.
Pull request overview
Copilot reviewed 3 out of 5 changed files in this pull request and generated 4 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
* convert project to uv * update mlrun ver * improve readme * improve readme * remove troubleshooting from readme * improve README.md * improve README.md * replcae lint with ruff and update according to review * adjust make test to work on all assets * update to use python 3.11 (required for tests) * fix according to review * fix readmes * add steps readme * add steps readme * add steps readme
* replace author to Iguazio manually (#905) * Organize CLI directory + new CLI for generating item.yaml files (#906) * create a CLI for generating item.yaml and organize the CLI directory * modify comments to module * PR fixes * Update cli/common/generate_item_yaml.py Co-authored-by: Eyal Danieli <eyal_danieli@mckinsey.com> --------- Co-authored-by: Eyal Danieli <eyal_danieli@mckinsey.com> * fill count events notebook (#908) * avoid noise reduction unit test (#909) * Add histogram-data-drift monitoring application module (without example) (#911) * histogram data drift module with empty example notebook * post review fixes * chore(readme): auto-update asset tables [skip ci] * Fill histogram-data-drift example notebook (#912) * fill data-drift nb * post review fixes * Add evidently demo app monitoring application module (without example) (#913) * sphinx build docs bug fix * add evidently demo app module (empty example notebook) * post review changes * chore(readme): auto-update asset tables [skip ci] * [Translate] Require torch>=2.6 for the translate function to work properly (#915) * lock torch valid version * edit the item.yaml and generated function.yaml * update mlrun version * [CLI] Generated READMEs are produced with broken links to the items (#918) * fix * test fix * test fix * test fix * test fix * final workflow * chore(readme): auto-update asset tables [skip ci] * OpenAI Module without notebook (#917) * First commit OpenAI Module * First commit OpenAI Module * Update example filename in item.yaml * Delete modules/src/openai_proxy/requirements.txt No need due to no unitest * Update item.yaml for OpenAI application configuration * Update modules/src/openai_proxy/openai.py Co-authored-by: Daniel Perez <100069700+danielperezz@users.noreply.github.com> * Change category name from 'GenAI' to 'genai' * Update package requirements with version constraints * Second commit adding notebook * Refactor OpenAI proxy to use base64 encoded script Refactor OpenAI proxy implementation to use base64 encoded script and update FastAPI app configuration. * Change deployment method to OpenAIModule * Third commit adding notebook * Third commit adding notebook * Remove package requirements from item.yaml Removed specific requirements for fastapi and requests. * Rename item and update kind in YAML * Update openai.py * Third commit adding notebook * Fix after review * Fix after review --------- Co-authored-by: Daniel Perez <100069700+danielperezz@users.noreply.github.com> * chore(readme): auto-update asset tables [skip ci] * [Evidently] Fill example notebook (#919) * add notebook + rename directory + correct evidently version * remove extra cell * chore(readme): auto-update asset tables [skip ci] * chore(readme): auto-update asset tables [skip ci] * [CLI + Modules] Fix time format in generate item yaml script (#922) * fix time format for evidently and hist * fix cli script * fix datetime format * chore(readme): auto-update asset tables [skip ci] * chore(readme): auto-update asset tables [skip ci] * Fix CMD first commit * Fix CMD second commit * remove max-width restriction from the main content (#929) * add test, requirement file and notebook * fix cli/utils/helpers.py * Add schema verification step (#955) * step files, empty notebook * missing type hint * fix test * post review fixes * fix test and cover new argument * add copyright * [UV] Convert project to UV (#949) * convert project to uv * update mlrun ver * improve readme * improve readme * remove troubleshooting from readme * improve README.md * improve README.md * replcae lint with ruff and update according to review * adjust make test to work on all assets * update to use python 3.11 (required for tests) * fix according to review * fix readmes * add steps readme * add steps readme * add steps readme * add missing notebook (#956) * delete openai example * delete openai example --------- Co-authored-by: Daniel Perez <100069700+danielperezz@users.noreply.github.com> Co-authored-by: iguazio-cicd <iguaziocicd@gmail.com> Co-authored-by: guylei-code <guyleibu@gmail.com> Co-authored-by: amitnGiniApps <amitn@gini-apps.com>
This PR converts the project from traditional pip/pipenv to UV as the dependency manager, adding modern Python packaging standards and comprehensive documentation.
Key Changes:
Pythonversion to 3.11 (CI Processes will be updated accordingly in different PR)READMEfiles, including adding a short description forstepsandmoduleshttps://iguazio.atlassian.net/browse/FHUB-189