[tool.poetry] name = "ops_bot" version = "0.1.0" description = "" authors = ["Abel Luck "] [tool.poetry.dependencies] python = "^3.9" matrix-nio = {extras = ["e2e"], version = "^0.19.0"} fastapi = "^0.79.0" uvicorn = "^0.18.2" termcolor = "^1.1.0" Markdown = "^3.4.1" pydantic = {extras = ["dotenv"], version = "^1.9.1"} commonmark = "^0.9.1" Jinja2 = "^3.1.2" mautrix = "^0.18.8" [tool.poetry.dev-dependencies] pytest = "^7.2.0" black = "^22.10.0" isort = "^5.10.1" mypy = "^0.991" bandit = "^1.7.4" flake8 = "^6.0.0" flake8-black = "^0.3.5" types-Markdown = "^3.4.0" types-termcolor = "^1.1.5" pytest-asyncio = "^0.20.2" [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry.scripts] start = "ops_bot.main:start_dev" [tool.black] line-length = 88 target-version = ['py39'] [tool.mypy] files = "ops_bot,tests" mypy_path = "ops_bot" ignore_missing_imports = true follow_imports = "silent" # Ensure full coverage disallow_untyped_calls = true disallow_untyped_defs = true disallow_incomplete_defs = true disallow_untyped_decorators = true check_untyped_defs = true # Restrict dynamic typing disallow_any_generics = true disallow_subclassing_any = true warn_return_any = true # Know exactly what you're doing warn_redundant_casts = true warn_unused_ignores = true warn_unused_configs = true warn_unreachable = true show_error_codes = true # Explicit is better than implicit no_implicit_optional = true