###
 # Package index source declarations.
 # Where to get python packages from.
 ##
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

###
 # General packages, installed via `pipenv sync`.
 ##
[packages]
django = "*"
pillow = "*"                      # Required to make sure image field dumping works correctly.
pytz = "*"                        # Needed until fully on ZoneInfo.

###
 # Development and testing packages, installed via `pipenv sync --dev`.
 ##
[dev-packages]
# Syntax formatting and checking dependencies.
black = "*"                       # "Uncompromising" Python code formatter.
pylint = "*"                      # Linter for Python syntax. Must be run in console via "pylint" command.
pylint-django = "*"               # Improves code analysis for Django projects.

# Testing/Pytest dependencies.
coverage = "*"                    # Outputs testing coverage data.
django-expanded-test-cases = "*"  # Utilities for easier testing.
freezegun = "*"                   # Allows "freezing" tests to specific datetimes, for consistent checking and output.
pytest = "*"                      # Base Pytest package. Current preferred testing method.
pytest-cov = "*"                  # Additional Pytest logic for coverage support.
pytest-django = "*"               # Additional Pytest logic for Django support.
pytest-xdist = "*"                # Additional Pytest features, such as multithreading and looping.

# Docs build dependencies.
sphinx = "*"                      # Core package to build project docs.
sphinx-autobuild = "*"            # Additional Sphinx logic to autobuild from project code documentation.
sphinx-rtd-theme = "*"            # Additional Sphinx logic for building with standard ReadTheDocs theme.

# Docs syntax-checking dependencies.
doc8="*"                          # Checks reStructuredText (aka Sphinx) syntax.
rstcheck = "~=3.5.0"              # Checks reStructuredText (aka Sphinx) syntax.

# Project pypi dependencies.
flit = "*"                        # Simple way to build and put Python packages on PyPI.
twine = "*"                       # For pushing/publishing packages.
