[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "crm-system" version = "1.0.0" description = "Self-hosted CRM for small sales teams" requires-python = ">=3.11" [tool.pytest.ini_options] asyncio_mode = "auto" testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = [ "-ra", "--strict-markers", "--tb=short", ] filterwarnings = [ "ignore::DeprecationWarning:passlib.*", "ignore::DeprecationWarning:jose.*", ] [tool.coverage.run] source = ["app"] branch = true omit = [ "app/__init__.py", "app/*/__init__.py", ] [tool.coverage.report] precision = 2 show_missing = true skip_covered = false [tool.ruff] line-length = 100 target-version = "py311" extend-exclude = [".venv", "alembic/versions"] [tool.ruff.lint] select = ["E", "F", "W", "I", "B", "UP", "N", "ASYNC"] ignore = ["E501", "B008"] [tool.mypy] python_version = "3.11" strict = true ignore_missing_imports = true warn_unused_ignores = true warn_return_any = true disallow_untyped_defs = false files = ["app"]