This document explains the need for every top level dependency the project has.
Dependency | Reason |
---|---|
dj-database-url | Pass the database credentials as one env variable. |
django | Duh. |
django-amazon-ses | Use AWS SES as Django's email backend. |
django-autoslug | Automatic URL slugs for models. |
django-cors-headers | CORS middleware. |
django-graphql-jwt | GraphQL JWT authentication. |
django-imagekit | ImageSpecField for user avatars. |
django-parler | Translatable models. |
django-s3-storage | Use AWS S3 as Django's storage backend. |
fcm-django | Send push notifications with Firebase. |
graphene-django | Use GraphQL with Django. |
gunicorn | Production webserver. |
mat2 | Clean metadata from files. |
pillow | Use Django's ImageField . |
psycopg2 | Connect to PostgreSQL. |
python-magic | Detect file types for validation. |
pyyaml | Load Django YAML fixtures. |
requests | Better HTTP requests for calling external APIs. |
Dependency | Reason |
---|---|
autoflake | Removing unused imports. |
black | Formatting code. |
django-stubs | Type hint stubs for Django which Mypy uses. |
docformatter | Formatting docstrings. |
flake8 | Linting. |
isort | Sorting imports. |
mypy | Type checking. |
pylint | Linting. |
pytest | Unit testing. |
pytest-cov | Calculating test coverage with pytest. |
pytest-django | Django specific pytest fixtures and a lot more. |
Dependency | Reason |
---|---|
ghostscript | Required for ImageMagick to convert PDFs. |
gir1.2-gdkpixbuf-2.0 | Use mat2 to clean file metadata. |
gir1.2-poppler-0.18 | Use mat2 to clean file metadata. |
gir1.2-rsvg-2.0 | Use mat2 to clean file metadata. |
imagemagick | Generate thumbnails from PDFs. |
libcairo2-dev | Build and use mat2 to clean file metadata. |
libgirepository1.0-dev | Build and use mat2 to clean file metadata. |
libmagic-dev | Guess file types with python-magic. |
libimage-exiftool-perl | Use mat2 to clean file metadata. |
libpq-dev | Build and use psycopg2 to connect to PostgreSQL. |
postgresql-client | Use psql through Django's dbshell in production. |
python3-gi-cairo | Use mat2 to clean file metadata. |
python3-mutagen | Use mat2 to clean file metadata. |
Dependency | Reason |
---|---|
curl | Download Poetry's install script at build time. |
gcc | Build the wheels for Pillow and psycopg2. |
gettext | Run Django's makemessages and compilemessages. |