[project]
name = "styrene-bond-rpc"
version = "0.1.0"
description = "RPC server for Styrene Bond device management over LXMF"
readme = "README.md"
requires-python = ">=3.11"
license = {text = "MIT"}
authors = [
    {name = "Styrene Team"}
]
dependencies = [
    # LXMF will be provided by the system
]

[project.optional-dependencies]
dev = [
    "pytest>=7.0",
    "pytest-asyncio>=0.21.0",
    "ruff>=0.1.0",
    "mypy>=1.7",
]

[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"

[tool.pytest.ini_options]
testpaths = ["tests"]
python_files = ["test_*.py"]
python_classes = ["Test*"]
python_functions = ["test_*"]
asyncio_mode = "auto"

[tool.ruff]
line-length = 100
target-version = "py311"

[tool.mypy]
python_version = "3.11"
strict = true
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true

[[tool.mypy.overrides]]
module = "styrene.*"
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = ["psutil", "yaml"]
ignore_missing_imports = true

[[tool.mypy.overrides]]
module = ["styrene_bond_rpc.handlers", "styrene_bond_rpc.auth"]
warn_unused_ignores = false
