hackforla / hackforla/peopledepot

Split requirements into dev and AWS

Open
#671 0 comments 0 reactions 1 assignee Claimed by @bhamrickatmills View on GitHub
complexity: medium docker feature: infrastructure ready for prioritization role: dev ops s: PD team size: 2pt
Dominant language
Python
Stars
14
Forks
37
Avg merge
9d 15h
Merged PRs (30d)
5

Description

### 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
- [x] Create `app/requirements-aws.in` with only production dependencies (no dev/test packages)
- [x] Compile `app/requirements-aws.in` to `app/requirements-aws.txt` using `uv pip compile`
- [x] Keep existing `app/requirements.in` and `app/requirements.txt` for development
- [x] Update any documentation or scripts that reference requirements files if needed
- [x] 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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.