- Add pyproject.toml with ruff per-file-ignores: - Exclude deprecated app/ Streamlit dir entirely - Suppress E702 in dev-api.py (intentional compact Pydantic models) - Suppress E402 in finetune_local.py (conditional ML imports after CUDA check) - Suppress F841/E741/E702 in tests/ (mock-patch capture pattern) - Remove unused db_path_obj assignment in dev-api.py:760 - Add # noqa: E402 to documented mid-file imports in dev-api.py - Rename ambiguous l variable to line/lbl in finetune_local.py + label_tool.py
32 lines
1.4 KiB
TOML
32 lines
1.4 KiB
TOML
[tool.ruff]
|
|
# app/ is the deprecated Streamlit UI (replaced by Vue+FastAPI).
|
|
# No new work goes there; exclude from linting rather than accumulate suppressions.
|
|
exclude = ["app/"]
|
|
|
|
[tool.ruff.lint.per-file-ignores]
|
|
# dev-api.py / dev_api.py (symlink): E702 semicolons in compact Pydantic model
|
|
# definitions — intentional style for dense data models with many simple fields.
|
|
"dev-api.py" = ["E702"]
|
|
"dev_api.py" = ["E702"]
|
|
|
|
# finetune_local.py: E402 ML libs (torch, datasets, trl) are imported after
|
|
# runtime CUDA / Unsloth availability checks — conditional import pattern.
|
|
"scripts/finetune_local.py" = ["E402", "E741"]
|
|
|
|
# scripts/: E402 mid-file imports used for lazy loading or post-env-setup imports.
|
|
"scripts/task_runner.py" = ["E402"]
|
|
"scripts/migrate.py" = ["E741"]
|
|
|
|
# scrapers/: third-party script; minimal changes policy.
|
|
"scrapers/companyScraper.py" = ["E722"]
|
|
|
|
# tools/: deprecated label tool copy (canonical in avocet); suppress style warnings.
|
|
"tools/label_tool.py" = ["E741"]
|
|
|
|
# tests/: F841 unused variables are the standard mock-patch capture pattern
|
|
# (e.g., `original_fn = obj.method` before monkeypatching).
|
|
# E741 ambiguous `l` names and E402 conditional imports are common in test fixtures.
|
|
# E702 compact `con.commit(); con.close()` is a common SQLite test helper idiom.
|
|
"tests/**" = ["F841", "E741", "E402", "E702"]
|
|
"tests/test_wizard_steps.py" = ["F841", "E741", "E402", "E702"]
|
|
"scripts/test_email_classify.py" = ["E402", "F841"]
|