Overview
Create separate requirements files for development and AWS/production environments. This allows us to keep development dependencies (pytest, django-extensions, etc.) out of the production image.
Action Items
Acceptance Criteria
requirements-aws.in exists and contains only production dependencies
requirements-aws.txt is generated and committed
- Development requirements remain in
requirements.txt
- No other files or Dockerfile changes in this issue
- Documentation clarifies which requirements file is used for what
Resources
- These are the lines in requirements.in . The dev dependencies are marked with asterisks, I think.
django~=4.2.27
django-extensions
*django-linear-migrations
django-phonenumber-field[phonenumbers]
django-timezone-field
djangorestframework
drf-jwt
*drf-spectacular
*markdown
*psycopg2-binary
*pytest-cov
*pytest-django
*pytest-xdist
tzdata
- see scripts/update-dependencies.sh for example of how to use uv pip compile with input and output files
- documentation goes in docs/architecture/project_structure.md
- need to distinguish between local dev environment and deployed dev environment
- (just a suggestion) add the files maybe after the requirements.* files, with the next caption numbers, and then add the new captions at the end of the list.
Parent Issue: #219
Overview
Create separate requirements files for development and AWS/production environments. This allows us to keep development dependencies (pytest, django-extensions, etc.) out of the production image.
Action Items
app/requirements-aws.inwith only production dependencies (no dev/test packages)app/requirements-aws.intoapp/requirements-aws.txtusinguv pip compileapp/requirements.inandapp/requirements.txtfor developmentrequirements-aws.txtcontains only what's needed for productionAcceptance Criteria
requirements-aws.inexists and contains only production dependenciesrequirements-aws.txtis generated and committedrequirements.txtResources
Parent Issue: #219