Skip to content

Commit 4722e2b

Browse files
committed
chore(ingestion): drop pylint, expand ruff to Stage 2c
Replace pylint with a coherent ruff-only stack (Stage 2c of the modernize roadmap). Pylint is dropped from dev deps and CI workflows; ruff selected ruleset expanded to ~22 families covering style, bug catchers, hygiene, and the pylint port (PLE/PLC/PLW/PLR with the noisy "too-many-X" complexity caps + magic-value disabled). What's selected (with rationale in pyproject.toml): E, W, F, I, N — style + correctness baseline + naming UP — pyupgrade (py>=3.10 modernizations) B, C4, C90, RET, SIM, TRY — bug catchers PIE, ICN, T20, TC, TID, PTH, PERF — hygiene PLE, PLC, PLW, PLR — pylint port (PLR complexity caps ignored) RUF — ruff-native (incl. RUF100 unused-noqa) What's removed: - .pylintrc (root) — duplicate of the ingestion pylint config - [tool.pylint.*] block in ingestion/pyproject.toml (~140 lines) - ingestion/plugins/{print_checker,import_checker}.py + tests + README (replaced by built-in T20 + TID251 banned-api respectively) - pylint dep from ingestion/setup.py and openmetadata-airflow-apis/pyproject.toml - `make lint` Makefile target + the pylint invocation in py_format_check - dead pylint TODO comment + ignored test entry in noxfile.py Cwd-stable config: ruff is invoked both from the repo root (pre-commit, CI) and from ingestion/ (`make py_format_check`). The `src`, `extend-exclude`, and per-file-ignores entries are listed twice — once relative to ingestion/ and once with the `ingestion/` prefix — so first-party isort detection and exclusions match in both invocations. Grandfathering: ran `ruff check --add-noqa` once + format-stable iteration. ~12,130 noqa directives across ~1,400 files. Cleanup is deferred to follow-up PRs that drop noqas one rule at a time. Documentation sweep: replaced `make lint` references in CLAUDE.md, AGENTS.md, DEVELOPER.md, copilot-instructions, and 6 SKILL files with the apply+verify shape `make py_format && make py_format_check`. `make py_format` is NOT a strict superset of pylint — it only applies auto-fixable violations; `make py_format_check` catches the rest. Basedpyright baseline regenerated: ruff format reflowed multi-line signatures in ~70 files, shifting type-error column positions. The basedpyright baseline matches by (file path, error code, range), so column shifts caused 19 entries to mis-align. Net diff is small (154 lines in/out of the 13MB baseline.json) — purely positional. Verified locally: - make py_format_check → All checks passed - nox --no-venv -s static-checks → 0 errors, 0 warnings, 0 notes
1 parent 48a7de3 commit 4722e2b

1,387 files changed

Lines changed: 12047 additions & 12228 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/copilot-instructions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -448,8 +448,8 @@ yarn pre-commit # Run precommit checks (lint-staged): license headers, i18
448448

449449
### Python
450450
```bash
451-
make py_format # Format with black, isort, pycln
452-
make lint # Run pylint
451+
make py_format # Apply ruff lint-fix + format
452+
make py_format_check # Verify lint + format (matches CI; catches non-auto-fixable issues)
453453
make static-checks # Run type checking with basedpyright
454454
```
455455

.pylintrc

Lines changed: 0 additions & 33 deletions
This file was deleted.

AGENTS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ cd ingestion
5252
make install_dev_env # Install in development mode
5353
make generate # Generate Pydantic models from JSON schemas
5454
make unit_ingestion_dev_env # Run unit tests
55-
make lint # Run pylint
56-
make py_format # Format with black, isort, pycln
55+
make py_format # Apply ruff lint-fix + format
56+
make py_format_check # Verify lint + format (matches CI; catches non-auto-fixable issues)
5757
make static-checks # Run type checking with basedpyright
5858
```
5959

CLAUDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -120,8 +120,8 @@ cd ingestion
120120
make install_dev_env # Install in development mode
121121
make generate # Generate Pydantic models from JSON schemas
122122
make unit_ingestion_dev_env # Run unit tests
123-
make lint # Run pylint
124-
make py_format # Format with black, isort, pycln
123+
make py_format # Apply ruff lint-fix + format
124+
make py_format_check # Verify lint + format (matches CI; catches non-auto-fixable issues)
125125
make static-checks # Run type checking with basedpyright
126126
```
127127

DEVELOPER.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ For connector-specific development, see [skills/README.md](skills/README.md).
7474
2. /connector-standards — Load the relevant standards
7575
3. /tdd — Write pytest tests first
7676
4. Implement using topology pattern
77-
5. make py_format && make lint
77+
5. make py_format && make py_format_check
7878
6. /test-enforcement — Verify 90% coverage
7979
7. /verification — Show test + lint output
8080
8. /connector-review — Full review against golden standards (for connectors)

0 commit comments

Comments
 (0)