Skip to content
This repository has been archived by the owner on Sep 13, 2021. It is now read-only.

Latest commit

 

History

History
72 lines (61 loc) · 6.83 KB

dependencies.md

File metadata and controls

72 lines (61 loc) · 6.83 KB

Skole Backend Dependencies

This document explains the need for every top level dependency the project has.

PyPi

Prod Requirements

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.

Dev Requirements

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.

Debian Packages

Run-time Packages

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.

Build-time and Development Packages

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.