[tool.poetry] name = "feedvault" version = "0.1.0" description = "FeedVault is a Django app for archiving RSS feeds." authors = ["Joakim Hellsén "] readme = "README.md" [tool.poetry.dependencies] python = "^3.12" django = { extras = ["argon2"], version = "^5.0.3" } python-dotenv = "^1.0.1" feedparser = "^6.0.11" gunicorn = "^21.2.0" dateparser = "^1.2.0" [tool.poetry.group.dev.dependencies] ruff = "^0.3.0" djlint = "^1.34.1" [build-system] build-backend = "poetry.core.masonry.api" requires = [ "poetry-core", ] [tool.ruff] exclude = ["migrations"] fix = true unsafe-fixes = true preview = true line-length = 120 lint.select = ["ALL"] lint.ignore = [ "CPY001", # Missing copyright notice at top of file "ERA001", # Found commented-out code "FIX002", # Line contains TODO "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. "COM812", # Checks for the absence of trailing commas. "ISC001", # Checks for implicitly concatenated strings on a single line. "PLR6301", # Checks for the presence of unused self parameter in methods definitions. ] [tool.ruff.lint.pydocstyle] convention = "google" [tool.ruff.lint.per-file-ignores] "**/tests.py" = [ "S101", # Allow asserts "ARG", # Allow unused arguments "FBT", # Don't care about booleans as positional arguments in tests, e.g. via @pytest.mark.parametrize() "PLR2004", # Allow "assert response.status_code == 200" when testing views "D102", # Allow missing docstrings in tests "PLR6301", # Checks for the presence of unused self parameter in methods definitions. ] [tool.djlint] format_attribute_template_tags = true