81 lines
2.6 KiB
TOML
81 lines
2.6 KiB
TOML
[tool.poetry]
|
|
name = "twitch-drop-notifier"
|
|
version = "0.1.0"
|
|
description = ""
|
|
authors = ["Joakim Hellsén <tlovinator@gmail.com>"]
|
|
readme = "README.md"
|
|
package-mode = false
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.12"
|
|
discord-webhook = "^1.3.1"
|
|
django = { version = "^5.1b1", allow-prereleases = true }
|
|
django-auto-prefetch = "^1.9.0"
|
|
django-debug-toolbar = "^4.4.6"
|
|
django-ninja = "^1.2.1"
|
|
django-simple-history = "^3.7.0"
|
|
hishel = "^0.0.29"
|
|
httpx = "^0.27.0"
|
|
pillow = "^10.4.0"
|
|
platformdirs = "^4.2.2"
|
|
python-dotenv = "^1.0.1"
|
|
sentry-sdk = { extras = ["django"], version = "^2.9.0" }
|
|
whitenoise = { extras = ["brotli"], version = "^6.7.0" }
|
|
undetected-playwright-patch = "^1.40.0.post1700587210000"
|
|
|
|
[tool.poetry.group.dev.dependencies]
|
|
djlint = "^1.34.1"
|
|
pre-commit = "^3.7.1"
|
|
pytest = "^8.2.2"
|
|
pytest-django = "^4.8.0"
|
|
ruff = "^0.5.1"
|
|
|
|
[build-system]
|
|
requires = ["poetry-core"]
|
|
build-backend = "poetry.core.masonry.api"
|
|
|
|
[tool.ruff]
|
|
# https://docs.astral.sh/ruff/settings/
|
|
target-version = "py312"
|
|
fix = true
|
|
unsafe-fixes = true
|
|
preview = true
|
|
lint.select = ["ALL"]
|
|
line-length = 119
|
|
lint.pydocstyle.convention = "google"
|
|
lint.ignore = [
|
|
"CPY001", # Missing copyright notice at top of file
|
|
"D100", # Checks for undocumented public module definitions.
|
|
"D101", # Checks for undocumented public class definitions.
|
|
"D102", # Checks for undocumented public method definitions.
|
|
"D104", # Missing docstring in public package.
|
|
"D105", # Missing docstring in magic method.
|
|
"D106", # Checks for undocumented public class definitions, for nested classes.
|
|
"ERA001", # Found commented-out code
|
|
"FIX002", # Line contains TODO
|
|
"COM812", # Checks for the absence of trailing commas.
|
|
"ISC001", # Checks for implicitly concatenated strings on a single line.
|
|
"DJ001", # Checks nullable string-based fields (like CharField and TextField) in Django models.
|
|
]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
"**/tests/**" = [
|
|
"ARG", # Unused function args -> fixtures nevertheless are functionally relevant...
|
|
"FBT", # Don't care about booleans as positional arguments in tests, e.g. via @pytest.mark.parametrize()
|
|
"PLR2004", # Magic value used in comparison, ...
|
|
"S101", # asserts allowed in tests...
|
|
"S311", # Standard pseudo-random generators are not suitable for cryptographic purposes
|
|
]
|
|
"**/migrations/**" = [
|
|
"RUF012", # Checks for mutable default values in class attributes.
|
|
]
|
|
|
|
[tool.djlint]
|
|
profile = "django"
|
|
format_attribute_template_tags = true
|
|
ignore = "H006" # Img tag should have height and width attributes.
|
|
|
|
[tool.pytest.ini_options]
|
|
DJANGO_SETTINGS_MODULE = "config.settings"
|
|
python_files = ["test_*.py"]
|