nordabiz/pyproject.toml
Maciej Pienczyn 36575e0442
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
feat: Add pre-commit hooks, CI badge, and release notes v1.24.0
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>
2026-02-02 10:48:29 +01:00

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