[tool.poetry]
name = "fittrackee"
version = "0.7.9"
description = "Self-hosted outdoor workout/activity tracker"
authors = ["SamR1"]
license = "AGPL-3.0"
readme = "README.md"
homepage = "https://github.com/SamR1/FitTrackee"
documentation = "https://samr1.github.io/FitTrackee"
classifiers = [
    "Development Status :: 4 - Beta",
    "Environment :: Web Environment",
    "Framework :: Flask",
    "License :: OSI Approved :: GNU Affero General Public License v3",
    "Operating System :: POSIX :: Linux",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.7",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: JavaScript"
]
exclude = ["fittrackee/tests"]

[tool.poetry.dependencies]
python = "^3.7"
authlib = "=1.2.0"
babel = "^2.11.0"
dramatiq = {version = "^1.13", extras = ["redis"]}
flask = "^2.2"
flask-bcrypt = "^1.0"
flask-dramatiq = "^0.6.0"
flask-limiter = {version = "^2.8", extras = ["redis"]}
flask-migrate = "^4.0"
gpxpy = "=1.5.0"
gunicorn = "^20.1"
humanize = "^4.4"
psycopg2-binary = "^2.9"
pyjwt = "^2.6"
python-forecastio = "^1.4"
pytz = "^2022.7"
shortuuid = "^1.0.11"
staticmap = "^0.5.4"
sqlalchemy = "=1.4.45"
pyopenssl = "^22.1"
ua-parser = "^0.16.1"

[tool.poetry.group.dev.dependencies]
bandit = "^1.7.4"
black = "^22.12"
freezegun = "^1.2"
mypy = "^0.991"
pytest = "^7.1"
pytest-black = "^0.3.12"
pytest-cov = "^3.0"
pytest-flake8 = "^1.1"
pytest-isort = "^3.1"
pytest-runner = "^6.0"
pytest-selenium = "^2.0.1"
pytest-xdist = {extras = ["psutil"], version = "^3.0.2"}
recommonmark = "^0.7"
sphinx = "^5.1"
sphinx-bootstrap-theme = "^0.8.1"
sphinxcontrib-httpdomain = "^1.8"
types-freezegun = "^1.1"
types-pytz = "^2022.7"
types-requests = "^2.28"
types-redis = "^4.3"

[tool.poetry.scripts]
fittrackee = 'fittrackee.__main__:main'
fittrackee_worker = 'fittrackee.__main__:worker'  # disabled
ftcli = 'fittrackee.cli:cli'
fittrackee_set_admin = 'fittrackee.__main__:set_admin'  # deprecated
fittrackee_upgrade_db = 'fittrackee.__main__:upgrade_db'  # deprecated

[tool.black]
line-length = 79
skip-string-normalization = true
target-version = ["py37", "py38"]
include = ".py$"
exclude = "migrations"

[tool.isort]
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
combine_as_imports = true

[tool.bandit]
exclude_dirs = ["fittrackee/tests/*", "fittrackee/migrations/*"]

[build-system]
requires = ["poetry>=0.12"]
build-backend = "poetry.masonry.api"
