matrix-ops-bot/pyproject.toml

81 lines
1.8 KiB
TOML

[tool.poetry]
name = "ops_bot"
version = "0.1.0"
description = ""
authors = ["Abel Luck <abel@guardianproject.info>"]
[tool.poetry.dependencies]
python = "^3.11"
matrix-nio = {extras = ["e2e"], version = "^0.22.1"}
fastapi = "^0.104.1"
uvicorn = "^0.24.0"
termcolor = "^1.1.0"
Markdown = "^3.4.1"
commonmark = "^0.9.1"
Jinja2 = "^3.1.2"
mautrix = "^0.20.2"
click = "^8.1.3"
json-logging = "^1.3.0"
pydantic-settings = "^2.0.3"
prometheus-client = "^0.18.0"
prometheus-fastapi-instrumentator = "^6.1.0"
python-olm = {version = "^3.2.16", source = "python-olm"}
[tool.poetry.dev-dependencies]
pytest = "^7.2.0"
black = "^22.10.0"
isort = "^5.10.1"
mypy = "^1.2.0"
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"
types-commonmark = "^0.9.2"
[[tool.poetry.source]]
name = "python-olm"
url = "https://gitlab.matrix.org/api/v4/projects/27/packages/pypi/simple"
default = false
secondary = false
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.scripts]
start = "ops_bot.main:start_dev"
config = "ops_bot.cli:cli"
[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