Conversation
…cuda-dl-base as required pytorch dependencies like libcusparselt0 was missing
There was a problem hiding this comment.
Copilot reviewed 15 out of 21 changed files in this pull request and generated no comments.
Files not reviewed (6)
- notebooks/.devcontainer/Dockerfile: Language not supported
- notebooks/.devcontainer/requirements.txt: Language not supported
- requirements-dev.txt: Language not supported
- src/sample_cpu_project/.devcontainer/Dockerfile: Language not supported
- src/sample_pytorch_gpu_project/.devcontainer/Dockerfile: Language not supported
- src/sample_pytorch_gpu_project/.devcontainer/requirements.txt: Language not supported
Comments suppressed due to low confidence (4)
src/sample_pytorch_gpu_project/.devcontainer/pyproject.toml:2
- [nitpick] The 'name' field is empty; consider providing a descriptive project name for clarity in the GPU project configuration.
name = ""
src/sample_cpu_project/.devcontainer/pyproject.toml:2
- [nitpick] The 'name' field is empty; a meaningful project name can help differentiate configurations in the CPU project settings.
name = ""
notebooks/.devcontainer/pyproject.toml:2
- [nitpick] The project name is not specified; consider adding a descriptive name for better clarity in the notebooks environment.
name = ""
src/sample_pytorch_gpu_project/README.md:137
- [nitpick] The placeholder version 'x.x.x' for mlflow may be unclear to users; consider using a valid version or indicating explicitly that it is a placeholder.
mlflow==x.x.x
meciwo
left a comment
There was a problem hiding this comment.
Reviewed all files. It looks good to me except src/common/requirements.txt
As you mentioned
This part can be potentially improved by https://docs.astral.sh/uv/concepts/projects/workspaces/#when-not-to-use-workspaces to move away from requirements.txt and gets its own lock file
What about trying to use workspaces?
…gement and simplify dependency installation
- Simplified instructions in README regarding environment updates by removing redundant information about dependencies in requirements.txt. - Adjusted the build context in create-env.yaml to use the repository root for Dockerfile compatibility, ensuring correct path resolution for dependencies.
Thanks for your comment! After all, I decided to remove this common module pattern. The common module pattern was rarely needed in practice across multiple projects, and uv works best with all dependencies in a single pyproject.toml per environment |
…flow dep. Get rid of venv creation for azdo linter
Purpose
This PR switches the package management system from pip to uv. uv is a new package manager that is way faster than pip.
uv is built in Rust, enabling it to outperform pip significantly. Benchmarks indicate that uv runs way faster than pip (https://github.com/astral-sh/uv/blob/main/BENCHMARKS.md). This speed is achieved through parallel downloads, efficient caching mechanisms, and by downloading only necessary metadata instead of entire package files.
Unlike pip, uv uses a lockfile (uv.lock) alongside pyproject.toml to ensure consistent and reproducible installations across different environments. This approach minimizes dependency conflicts and enhances reliability, similar to the functionality provided by tools like Poetry.
To support this switch, the following code changes were made:
astral-sh/setup-uvanduvx; Azure DevOps pipelines updated)uv sync --lockedwith bind mounts)requirements.txt→pyproject.toml+uv.lockin each.devcontainerrequirements-dev.txtremoved — dev dependencies are now included in each individualpyproject.tomlsrc/common/removed — shared dependencies are now managed per-project inpyproject.toml. The common module pattern was rarely needed in practice across multiple projects, and uv works best with all dependencies in a singlepyproject.tomlper environmentpipecosystem replaced withuv)README.mdupdated with uv instructions, new "How to update python packages" section, CI badge, and updated directory treesrc/sample_pytorch_gpu_project/README.mdupdated (requirements.txt→pyproject.toml)pyproject.tomldevcontainer.jsonupdated: build context narrowed from repo root to each.devcontainer/directory,remoteEnvwithUV_PROJECTaddedcreate-env.yamlcomment clarified for build context.gitignoreupdated (added.DS_Store).dockerignoreremoved (no longer needed since build context changed from repo root to each.devcontainer/directory)github.copilot-chat,donjayamanne.python-environment-manager,donjayamanne.githistory,njpwerner.autodocstring,donjayamanne.vscode-default-python-kernel,marchiore.csvtomarkdown).github/copilot-instructions.mdfor repo-wide Copilot custom instructions (Google-style docstrings, uv for dependency management)Does this introduce a breaking change?
Author pre-publish checklist
Pull Request Type
What kind of change does this Pull Request introduce?