###
 # Pipenv Package Declarations.
 # This file is what Pipenv commands build off of.
 ##
[[source]]
name = "pypi"
url = "https://pypi.python.org/simple"
verify_ssl = true


###
 # Python version declaration.
 ##
[requires]
python_version = "3.9"


###
 # General packages, installed via `pipenv sync`.
 ##
[packages]
mysqlclient = "*"       # For connecting to mysql.
psycopg2-binary = "*"   # For connecting to PostgreSQL.
pytz = "*"              # For datetime shenanigans.


###
 # Development and testing packages, installed via `pipenv sync --dev`.
 ##
[dev-packages]
# Syntax-checking dependencies.
autopep8 = "*"                  # Auto-formats files for pep8 recommendations. See `setup.cfg` for our exceptions.
flake8 = "*"                    # Wrapper for autopep8 that allows extra configuration, etc.

# Testing/Pytest dependencies.
coverage = "*"                  # Outputs testing coverage data.
freezegun = "*"                 # Allows "freezing" tests to specific datetimes, for consistent checking and output.
pytest = "*"                    # Base Pytest package. Current preferred testing method.
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.

# Project pypi dependencies.
build = "*"                     # For building packages according to PEP 517 standards (for PyPi deployment).
pip-tools = "*"                 # Management of Package dependencies and building.
twine = "*"                     # For pushing/publishing packages.
