[UV] Convert project to UV#949
Conversation
There was a problem hiding this comment.
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.
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.
Looks really good!!
Had just one question :)
| uv run black --check . | ||
| uv run isort --check-only . | ||
|
|
||
| test: ## Run tests for a specific function |
There was a problem hiding this comment.
Why do we only support this test command for functions and not all asset types?
There was a problem hiding this comment.
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.
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