[tool.poetry] name = "discord-rss-bot" version = "0.2.0" description = "RSS bot for Discord" authors = ["Joakim Hellsén "] [tool.poetry.dependencies] python = "^3.10" reader = "^3.4" discord-webhook = "^1.0.0" platformdirs = "^3.0.0" fastapi = "^0.100.0" uvicorn = { extras = ["standard"], version = "^0.22.0" } jinja2 = "^3.1.2" apscheduler = "^3.10.0" python-multipart = "^0.0.6" python-dotenv = "^1.0.0" tomlkit = "^0.11.6" beautifulsoup4 = "^4.11.2" lxml = "^4.9.2" httpx = "^0.24.0" [tool.poetry.group.dev.dependencies] pytest = "^7.2.1" djlint = "^1.19.13" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.black] line-length = 120 target-version = ["py311"] preview = true [tool.djlint] ignore = "D004,D018,J018,T001,J004" profile = "jinja" max_line_length = 120 format_attribute_template_tags = true [tool.ruff] line-length = 120 select = [ "E", "F", "B", "W", "C90", "I", "N", "D", "UP", "YTT", "ANN", "S", "BLE", # "FBT", # Reader uses positional boolean values in its function calls "A", "COM", "C4", "DTZ", "EM", "EXE", "ISC", "ICN", "G", "INP", "PIE", "T20", "PYI", "PT", "Q", "RSE", "RET", "SLF", "SIM", "TID", "TCH", "ARG", "PTH", "ERA", "PGH", "PL", "PLC", "PLE", "PLR", "PLW", "TRY", "RUF", ] ignore = [ "D100", # pydocstyle - missing docstring in public module "D101", # pydocstyle - missing docstring in public class "D102", # pydocstyle - missing docstring in public method "D103", # pydocstyle - missing docstring in public function "D104", # pydocstyle - missing docstring in public package "D105", # pydocstyle - missing docstring in magic method "D106", # pydocstyle - missing docstring in public nested class "D107", # pydocstyle - missing docstring in __init__ "G002", # Allow % in logging "UP031", # Allow % in logging "B008", # Allow Form() as a default value "PGH003", # Allow # type: ignore ] [tool.ruff.pydocstyle] convention = "google" [tool.ruff.per-file-ignores] "tests/*" = ["S101"] [tool.pytest.ini_options] addopts = "-vvvvvv --exitfirst" filterwarnings = [ "ignore:'cgi' is deprecated and slated for removal in Python 3.13:DeprecationWarning", "ignore:pkg_resources is deprecated as an API:DeprecationWarning", "ignore:No parser was explicitly specified:UserWarning", ]