[tool.poetry]
name = "vrobbler"
version = "0.16.1"
description = ""
authors = ["Colin Powell <colin@unbl.ink>"]

[tool.poetry.dependencies]
python = ">=3.11,<3.14"
Django = "^4.0.3"
django-extensions = "^3.1.5"
python-dateutil = "^2.8.2"
python-dotenv = "^0.20.0"
python-json-logger = "^2.0.2"
colorlog = "^6.6.0"
httpx = "<=0.27.2"
djangorestframework = "^3.13.1"
Markdown = "^3.3.6"
django-filter = "^21.1"
Pillow = "^10.0.0"
psycopg2 = "2.9.10"
dj-database-url = "^0.5.0"
django-mathfilters = "^1.0.0"
django-allauth = "^0.50.0"
django-celery-results = "^2.3.0"
redis = "^4.2.2"
django-taggit = "^2.1.0"
django-markdownify = "^0.9.1"
gunicorn = "^20.1.0"
django-simple-history = "^3.1.1"
musicbrainzngs = "^0.7.1"
cinemagoerng = {git = "https://github.com/cinemagoer/cinemagoerng"}
pysportsdb = "^0.1.0"
pytz = "^2022.7.1"
django-redis = "^5.2.0"
pylast = "^5.1.0"
django-encrypted-field = "^1.0.5"
celery = "^5.2.7"
honcho = "^1.1.0"
howlongtobeatpy = "^1.0.5"
beautifulsoup4 = "^4.11.2"
django-storages = "^1.13.2"
stream-sqlite = "^0.0.41"
ipython = "^8.14.0"
pendulum = "^3"
trafilatura = "^1.6.3"
django-imagekit = "^5.0.0"
thefuzz = "^0.22.1"
dataclass-wizard = "^0.35.0"
webdavclient3 = "^3.14.6"
boto3 = "^1.35.37"
urllib3 = "<2"
django-oauth-toolkit = "^3.0.1"
meta-yt = "^0.1.9"
berserk = "^0.13.2"
poetry-bumpversion = "^0.3.3"
orgparse = "^0.4.20250520"
tmdbv3api = "^1.9.0"
themoviedb = "^1.0.2"
feedparser = "^6.0.12"
titlecase = "^2.4.1"
bgg-api = "^1.1.13"

[tool.poetry.group.test]
optional = true

[tool.poetry.group.test.dependencies]
Werkzeug = "2.0.3"
black = "^22.3"
coverage = "^7.0.5"
mypy = "^0.961"
pytest = "^7.1"
pytest-black = "^0.3.12"
pytest-cov = "^3.0"
pytest-django = "^4.5.2"
pytest-xdist= "^1.0.0"
pytest-flake8 = "^1.1"
pytest-isort = "^3.0"
pytest-runner = "^6.0"
time-machine = "^2.9.0"
types-pytz = "^2022.1"
types-requests = "^2.27"
bandit = "^1.7.4"

[tool.pytest.ini_options]
minversion = "6.0"
addopts = "-ra -q --reuse-db"
testpaths = ["tests"]
DJANGO_SETTINGS_MODULE='vrobbler.settings-testing'

[tool.black]
line-length = 79
target-version = ["py39", "py310"]
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 = ["*/tests/*", "*/migrations/*"]

[tool.poetry.scripts]
vrobbler = "vrobbler.cli:main"

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