Skip to content

Split requirements into dev and AWS #671

Description

@fyliu

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

  • Create app/requirements-aws.in with only production dependencies (no dev/test packages)
  • Compile app/requirements-aws.in to app/requirements-aws.txt using uv pip compile
  • Keep existing app/requirements.in and app/requirements.txt for development
  • Update any documentation or scripts that reference requirements files if needed
  • Verify that requirements-aws.txt contains only what's needed for production

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

Metadata

Metadata

Labels

No fields configured for Feature.

Projects

Status
🏗In progress-actively working

Relationships

None yet

Development

No branches or pull requests

Issue actions