-
Notifications
You must be signed in to change notification settings - Fork 88
Migrate from pip to uv for dependency management. #632
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
base: main
Are you sure you want to change the base?
Conversation
5fc3989 to
d6a494b
Compare
|
Long time no see @chriswedgwood 😁 I’ve changed the package manager, and I think this might cause some issues during production deployment. |
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 migrates the project from traditional pip-based dependency management to uv, a modern Python package manager. The migration consolidates requirements files into pyproject.toml dependency groups and updates all tooling to use uv for dependency installation and script execution.
Key Changes:
- Replaced
requirements/*.txtfiles with PEP 735 dependency groups inpyproject.toml - Migrated all Python execution commands to use
uv runprefix - Simplified Dockerfile by switching to uv-based base image and eliminating multi-stage build
Reviewed Changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| requirements/production.txt | Deleted as dependencies migrated to pyproject.toml |
| requirements/development.txt | Deleted as dependencies migrated to pyproject.toml |
| requirements/base.txt | Deleted as dependencies migrated to pyproject.toml |
| pyproject.toml | Added dependency groups (django, base, dev, prod) using PEP 735 format |
| docker-compose.local.yml | Removed SELinux :z mount option and updated command to use uv run |
| compose/local/django/start | Updated all Python commands to use uv run prefix |
| compose/local/django/Dockerfile | Switched to uv base image and simplified build process |
| README.rst | Updated installation instructions with uv commands and added syntax errors |
| .github/workflows/pythonpackage.yml | Updated CI workflow to use uv for dependency management |
| .github/dependabot.yml | Replaced pip ecosystem with uv, added npm and github-actions ecosystems |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| .. code-block:: console | ||
| # macOS | ||
| curl -LsSf https://astral.sh/uv/install.sh | sh | ||
| # Window |
Copilot
AI
Nov 5, 2025
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.
Corrected spelling of 'Window' to 'Windows'.
| # Window | |
| # Windows |
| .. [!NOTE]:: | ||
| For detailed instructions on installing uv, please refer to this [document](https://docs.astral.sh/uv/getting-started/installation/). |
Copilot
AI
Nov 5, 2025
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 uses Markdown syntax within a reStructuredText file. The [!NOTE]:: directive and [document](URL) link syntax are invalid in RST. Use proper RST directives like .. note:: and `link text <URL>`_ instead.
| .. [!NOTE]:: | |
| For detailed instructions on installing uv, please refer to this [document](https://docs.astral.sh/uv/getting-started/installation/). | |
| .. note:: | |
| For detailed instructions on installing uv, please refer to this `document <https://docs.astral.sh/uv/getting-started/installation/>`_. |
Hi 👋 yip makes sense moving to a uv. Let me take a look and see how it impacts our Heroku build process. Also I'm going to ask the ops team to get you Heroku access so you can see what's going on there. |
I have switched the package manager to uv 💪