[project] name = "bsn-livesystem" version = "0.1.0" description = "BSN Livesystem - WhatsApp & Telegram Community Integration" requires-python = ">=3.13" dependencies = [ "flask>=3.0.0", "pydantic>=2.0.0", "redis>=5.0.0", "structlog>=24.0.0", ] [project.group.dev.dependencies] pytest = ">=8.0.0" pytest-cov = ">=5.0.0" mypy = ">=1.0.0" fakeredis = ">=2.0.0" [tool.ruff] line-length = 100 target-version = "py313" [tool.ruff.lint] select = ["E", "F", "I", "N", "W", "UP", "PL", "C90", "S"] ignore = [] [tool.ruff.lint.per-file-ignores] "src/config.py" = ["S104", "S105"] "src/error_handler.py" = ["S105"] "src/routes/whatsapp.py" = ["S105", "PLR0911"] "tests/test_config.py" = ["S104", "S105", "S101", "PLR2004", "F401"] "tests/test_error_handler.py" = ["S101", "PLR2004", "F401"] "tests/**/*.py" = ["S101", "S105", "PLR2004", "F401"] [tool.ruff.format] quote-style = "double" indent-style = "space" docstring-code-format = true [tool.mypy] strict = true python_version = "3.13" explicit_package_bases = true [[tool.mypy.overrides]] module = "pytest" ignore_missing_imports = true [[tool.mypy.overrides]] module = "fakeredis" ignore_missing_imports = true [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-v --tb=short"