[tool.poetry] name = "infra" version = "2.0.0" description = "Infrastructure for Python Discord" authors = ["Python Discord "] license = "MIT" readme = "README.md" package-mode = false [tool.poetry.dependencies] python = ">3.11,<4.0" pre-commit = "4.2.0" ruff = "0.12.4" taskipy = "1.14.1" [tool.poetry.group.ansible.dependencies] ansible-core = "^2.17.0" ansible-lint = { version = "25.6.1", markers = "platform_system != 'Windows'" } dnspython = "2.7.0" [tool.poetry.group.dns.dependencies] octodns = "^1.8.0" octodns-cloudflare = "^0.0.9" [tool.poetry.group.docs.dependencies] mkdocs-material = {extras = ["imaging"], version = "^9.5.31"} mkdocs-glightbox = "^0.4.0" mkdocs-git-committers-plugin-2 = "^2.3.0" mkdocs-git-revision-date-localized-plugin = "^1.2.6" [tool.taskipy.tasks] lint = "pre-commit run --all-files" precommit = "pre-commit install" serve-docs = "cd docs && mkdocs serve" build-docs = "cd docs && mkdocs build" [tool.ruff] target-version = "py311" extend-exclude = [".cache"] line-length = 120 unsafe-fixes = true output-format = "concise" [tool.ruff.lint] select = ["ALL"] ignore = [ "ANN002", "ANN003", "ANN101", "ANN102", "ANN204", "ANN206", "ANN401", "B904", "C401", "C408", "CPY001", "D100", "D104", "D105", "D107", "D203", "D212", "D214", "D215", "D301", "D400", "D401", "D402", "D404", "D405", "D406", "D407", "D408", "D409", "D410", "D411", "D412", "D413", "D414", "D416", "D417", "E731", "RET504", "RUF005", "RUF012", "RUF015", "S311", "SIM102", "SIM108", # Docs "A001", "INP001", # Rules suggested to be ignored when using ruff format "COM812", "COM819", "D206", "E111", "E114", "E117", "E501", "ISC001", "Q000", "Q001", "Q002", "Q003", "W191", ] [tool.ruff.lint.isort] order-by-type = false case-sensitive = true combine-as-imports = true [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"