Skip to content

Remove redundant linters, relax over-aggressive checks#192

Draft
AlanCoding wants to merge 2 commits into
ansible:develfrom
AlanCoding:work_on_checks
Draft

Remove redundant linters, relax over-aggressive checks#192
AlanCoding wants to merge 2 commits into
ansible:develfrom
AlanCoding:work_on_checks

Conversation

@AlanCoding

Copy link
Copy Markdown
Member

Summary

  • Drop flake8 + wemake-python-styleguide + darglint entirely — ruff select=ALL already covers everything flake8 does. WPS was the primary source of # noqa whack-a-mole that made contributions painful (75 noqa comments removed in this PR).
  • Reduce mypy from 3 runs to 1 — target py311 (lowest supported). Version-specific typing edge cases are rare and not worth 3x CI time.
  • Relax pylint — drop perfect-10 requirement to 9, un-ban single-letter loop variables (i, j, k, etc.).
  • Remove nitpick — meta-linter that enforced canonical linter configs was self-referential overhead.
  • Drop codecov targets from 100% to 90% — for patch and test coverage. Focus coverage effort on testing meaningful behavior, not achieving line coverage on boilerplate.
  • Remove 6 redundant config files.flake8, .darglint, .isort.cfg, .pep8, nitpick-style.toml. Down from 15 config files to 9.

Motivation

The linting setup was the most heavily instrumented Python project I've seen: 30+ checks, 5 overlapping linters, 15 config files. A 3-line fix required navigating WPS opinions, darglint docstring params, 3 mypy runs, and 100% patch coverage — multiple hours of linter whack-a-mole. This made contributions prohibitively expensive while checking cosmetics (quote style, trailing commas) rather than things that matter (architecture, correctness, security).

What remains: ruff (with select=ALL), mypy (strict, 1 run), pylint (relaxed), plus standard pre-commit hooks (codespell, yamllint, shellcheck, etc.). This is still a well-guarded codebase — just not a hostile one.

Note

This same cleanup should be duplicated to awx_plugins.interfaces which has an identical linting setup.

Test plan

  • CI passes with the reduced linter set
  • Verify no new lint violations surface from removing per-file-ignores
  • Spot check that ruff catches the same issues flake8+WPS was catching

🤖 Generated with Claude Code

Drop flake8 + wemake-python-styleguide + darglint entirely — ruff with
select=ALL already covers everything flake8 does, and WPS was the
primary source of noqa whack-a-mole that made contributions painful.

Reduce mypy from 3 runs (py311/312/313) to 1 run (py311, the lowest
supported version). Version-specific typing bugs are rare and not worth
3x the CI time.

Relax pylint: drop fail-under from 10 (perfect) to 9, un-ban
single-letter loop variables (i, j, k, x, y, f, e, _).

Remove nitpick (meta-linter that lints linter configs).

Drop codecov coverage targets from 100% to 90% for patch and test
coverage.

Remove redundant config files: .flake8, .darglint, .isort.cfg (ruff
handles import sorting), .pep8, nitpick-style.toml.

Clean up 75 noqa comments across source and test files that were only
needed for WPS/DAR/flake8-specific codes.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@coderabbitai

coderabbitai Bot commented Jul 7, 2026

Copy link
Copy Markdown

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Enterprise

Run ID: 03f4c6a7-afbc-4286-917b-bc461ab51dc6

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@codecov

codecov Bot commented Jul 7, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 97.43590% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 76.40%. Comparing base (7c6a7cf) to head (e748cc9).
✅ All tests successful. No failed tests found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant