# NordaBiz Python Project Configuration # ====================================== [project] name = "nordabiz" version = "1.24.0" description = "Norda Biznes Partner - Business catalog and networking platform" requires-python = ">=3.9" [tool.ruff] line-length = 120 target-version = "py39" [tool.ruff.lint] select = [ "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "B", # flake8-bugbear "S", # flake8-bandit (security) ] ignore = [ "E501", # line too long (handled by formatter) "S101", # assert used (OK in tests) "S105", # hardcoded password (false positives) "S106", # hardcoded password (false positives) ] [tool.ruff.lint.per-file-ignores] "tests/*" = ["S101", "S105", "S106"] [tool.bandit] exclude_dirs = ["tests", "venv", ".venv", "scripts"] skips = ["B101", "B105", "B106"] # assert, hardcoded passwords [tool.pytest.ini_options] testpaths = ["tests"] python_files = ["test_*.py"] python_classes = ["Test*"] python_functions = ["test_*"] addopts = "-v --tb=short" markers = [ "unit: Unit tests", "integration: Integration tests", "e2e: End-to-end tests", "smoke: Smoke tests", "security: Security tests", ] [tool.coverage.run] source = ["."] omit = ["tests/*", "venv/*", ".venv/*", "scripts/*"] branch = true [tool.coverage.report] fail_under = 10 show_missing = true