-
Notifications
You must be signed in to change notification settings - Fork 51
Update buildpack #1509
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
Merged
Merged
Update buildpack #1509
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Analyze current Poetry configuration in pyproject.toml - Document build performance metrics (17.4s total build time) - Verify application functionality with Docker setup - Confirm migration readiness (no conflicting package managers) - Create comprehensive baseline analysis documentation Baseline metrics: - Poetry install: 6.4s - Dependencies install: 9.4s - Application startup: ~3s - HTTP response: 200 OK Ready for uv migration implementation.
- Replace Poetry with uv for dependency management in Dockerfile - Install uv instead of Poetry and use `uv sync --frozen` for deps - Remove Poetry-specific environment variables - Add .python-version file for Python 3.11.9 specification - Convert pyproject.toml to uv-compatible format with [project] section - Generate uv.lock to replace poetry.lock - Update .dockerignore to include .python-version - Activate virtual environment in Docker with PATH update Improves build performance with uv's faster dependency resolution and installation (61 packages in 181ms vs Poetry's slower process). Addresses requirements 1.1 and 4.1 for Heroku buildpack migration.
- Remove Poetry-specific configuration from pyproject.toml - Keep standard PEP 621 project configuration for uv compatibility - Generate new uv.lock file with all dependencies resolved - Remove poetry.lock to ensure uv takes precedence - Maintain Python 3.11.9 specification via .python-version file This migration prepares the project for Heroku's native Python buildpack which has better uv support than Poetry.
- Confirmed poetry.lock has been removed (replaced by uv.lock) - Verified no requirements.txt files exist in project - Confirmed no Pipfile or Pipfile.lock files present - Ensures uv takes precedence as package manager for Heroku deployment Refs: heroku-buildpack-migration task 4
- Successfully tested uv sync with 61 packages installing in 201ms - Verified Django 5.2.4 application starts with Gunicorn in Docker - Confirmed all database migrations and fixtures load correctly - Validated key dependencies (psycopg 3.2.9, boto3 1.39.13) function properly - Docker build time improved to ~8 seconds with excellent layer caching - All Django management commands working with uv virtual environment Resolves task 5 of heroku-buildpack-migration spec
- Remove moneymeets/python-poetry-buildpack from staging-wac - Staging now uses native heroku/python buildpack with uv support - Production buildpack removal pending staging validation Refs: heroku-buildpack-migration task 6
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
- Reorganize .gitignore with logical sections and remove duplicates - Streamline .dockerignore for better build performance - Group pyproject.toml dependencies by purpose with clear comments - Fix malformed Black and isort tool configurations - Remove redundant patterns and improve maintainability This improves development workflow and ensures consistent tooling across the Django 5.2 + uv + Docker environment.
Contributor
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 Poetry to uv for Python dependency management, updating the build system configuration and documentation accordingly.
- Migrates from Poetry to uv for Python package management
- Updates pyproject.toml to use PEP 518 project metadata standard
- Updates Docker configuration and build process for uv
- Adds project documentation for technology stack, structure, and product overview
Reviewed Changes
Copilot reviewed 9 out of 12 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| pyproject.toml | Converts from Poetry to PEP 518 project format with uv-compatible dependencies |
| app.json | Removes Poetry-specific environment variables and buildpack configuration |
| README.md | Updates Docker command example from Poetry to uv |
| Dockerfile | Replaces Poetry installation and commands with uv equivalents |
| .python-version | Adds Python version specification for uv |
| .kiro/steering/*.md | Adds new documentation files for project overview and technical details |
| .dockerignore | Includes .python-version file in Docker context |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.