[tool.poetry] name = "fittrackee" version = "0.7.24" 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.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: JavaScript" ] exclude = ["fittrackee/tests"] [tool.poetry.dependencies] python = "^3.8.1" authlib = "=1.2.1" babel = "^2.11.0" click = "^8.1.7" dramatiq = {version = "^1.14", extras = ["redis"]} flask = "^3.0" flask-bcrypt = "^1.0" flask-dramatiq = "^0.6" flask-limiter = {version = "^3.5", extras = ["redis"]} flask-migrate = "^4.0" gpxpy = "=1.5.0" gunicorn = "^21.0" humanize = "^4.7" psycopg2-binary = "^2.9" pyjwt = "^2.8" pyopenssl = "^23.2" pytz = "^2023.3" shortuuid = "^1.0.11" staticmap = "^0.5.7" sqlalchemy = "=1.4.49" ua-parser = "^0.18.0" [tool.poetry.group.dev.dependencies] bandit = "^1.7.5" black = "^23.9" flake8 = "^6.1" # requires Python >=3.8.1 freezegun = "^1.2" furo = "^2023.9" mypy = "^1.5" pytest = "^7.4" pytest-black = "^0.3" pytest-cov = "^4.1" pytest-html = "3.2.0" pytest-isort = "^3.1" pytest-runner = "^6.0" pytest-selenium = "^4.0" pytest-xdist = {extras = ["psutil"], version = "^3.3"} recommonmark = "^0.7" selenium = "4.9.0" sphinx = "^7.1" sphinx-copybutton = "^0.5.2" sphinx-intl = "^2.1.0" sphinxcontrib-httpdomain = "^1.8" types-freezegun = "^1.1" types-pytz = "^2023.3" types-redis = "^4.6" types-requests = "^2.31" [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 = ["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"