[tool.poetry] name = "torrent-ingestor" version = "0.1.0" description = "Annatar Torrent Ingestor" authors = ["Brett "] readme = "README.md" [tool.poetry.dependencies] python = "^3.11" redis = "^5.0.3" pydantic = "^2.6.4" sqlalchemy = {extras = ["asyncio"], version = "^2.0.28"} databases = {extras = ["postgresql"], version = "^0.9.0"} psycopg2-binary = "^2.9.9" structlog = "^24.1.0" [tool.poetry.group.dev.dependencies] ruff = "^0.3.3" pyright = "^1.1.354" [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api" [tool.ruff] # Exclude a variety of commonly ignored directories. line-length = 100 exclude = [ ".direnv", ".git", ".pyenv", ".pytest_cache", ".pytype", ".ruff_cache", ".vscode", "__pypackages__", "_build", "build", "dist", "typings", "venv"] [tool.ruff.lint] # https://docs.astral.sh/ruff/rules/ ignore = [ "PLR0913", # flask8-bugbear: Too many arguments for a method or function "PLR0911", # flask8-bugbear: Too many return statements "PLR2004", # flake8-bugbear: Magic value used in comparison "S104", # flake8-bandit: Possible binding to all interfaces "S108", # flake8-bandit: Probable insecure usage of temp file/directory "S311", # flake8-bandit: Standard pseudo-random generators are not suitable for security/cryptographic purposes ] extend-select = [ "I", # isort "C90", # mccabe complexity "B", # flake8-bugbear "PL", # pycodestyle "S", # flake8-bandit "T10", # flake8-debugger "PIE", # flake8-pie "T20", # flake8-print "Q", # flake8-quotes "RSE", # flake8-raise "RET", # flake8-return "SLF", # flake8-self "SIM", # flake8-simplify "ARG", # flake8-unused-arguments ] [tool.ruff.lint.isort] case-sensitive = true