Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions
Best practices additions: - .pre-commit-config.yaml with ruff, bandit, and quick tests - pyproject.toml with modern Python tooling config - CI/CD badge in README.md - Release notes v1.24.0 documenting testing infrastructure Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
59 lines
1.4 KiB
TOML
59 lines
1.4 KiB
TOML
# 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
|