[tool.poetry] name = "fittrackee" version = "0.7.29" 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.3.0" babel = "^2.11.0" click = "^8.1.7" dramatiq = {version = "^1.15.0", extras = ["redis"]} flask = "^3.0.0" flask-bcrypt = "^1.0.1" flask-dramatiq = "^0.6.0" flask-limiter = {version = "^3.5.0", extras = ["redis"]} flask-migrate = "^4.0.5" flask-sqlalchemy = "3.0.5" gpxpy = "=1.6.2" gunicorn = "^21.2.0" humanize = "^4.9.0" psycopg2-binary = "^2.9.9" pyjwt = "^2.8.0" pyopenssl = "^23.3.0" pytz = "^2023.3" shortuuid = "^1.0.11" staticmap = "^0.5.7" sqlalchemy = "=1.4.51" ua-parser = "^0.18.0" [tool.poetry.group.dev.dependencies] bandit = "^1.7.6" black = "^23.12.1" flake8 = "^7.0.0" # requires Python >=3.8.1 freezegun = "^1.4.0" furo = "^2023.9.10" mypy = "^1.8.0" pytest = "^7.4.4" pytest-black = "^0.3.12" pytest-cov = "^4.1.0" pytest-html = "^3.2.0" pytest-isort = "^3.1.0" pytest-runner = "^6.0.1" pytest-selenium = "^4.0.1" pytest-xdist = {extras = ["psutil"], version = "^3.5.0"} recommonmark = "^0.7.1" selenium = "4.9.1" sphinx = "^7.1" sphinx-copybutton = "^0.5.2" sphinx-intl = "^2.1.0" sphinxcontrib-httpdomain = "^1.8.1" 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-core>=1.0.0"] build-backend = "poetry.core.masonry.api"