102 lines
2.7 KiB
TOML
102 lines
2.7 KiB
TOML
[tool.poetry]
|
|
name = "fittrackee"
|
|
version = "0.7.28"
|
|
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.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.50"
|
|
ua-parser = "^0.18.0"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
bandit = "^1.7.6"
|
|
black = "^23.12.0"
|
|
flake8 = "^6.1.0" # requires Python >=3.8.1
|
|
freezegun = "^1.2.2"
|
|
furo = "^2023.9.10"
|
|
mypy = "^1.7.1"
|
|
pytest = "^7.4.3"
|
|
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"
|