Skip to content

Replace pylint with ruff for linting and formatting #6

@janhoy

Description

@janhoy

Summary

The project currently uses pylint (.pylintrc) for linting. Replace it with
ruff, a significantly faster tool that covers linting
and formatting (replacing black/isort) in a single dependency.

Motivation

  • Apache Airflow adopted ruff as its primary Python quality tool ([tool.ruff] in
    pyproject.toml)
  • Ruff is 10–100× faster than pylint, enabling faster CI and pre-commit hooks
  • Covers the same (and broader) rule set as pylint + isort + black in one config block
  • Configuration lives in pyproject.toml alongside other tool config

Proposed changes

  1. Add pyproject.toml with [tool.ruff] linting and [tool.ruff.format] sections
  2. Remove .pylintrc
  3. Update Makefile lint target to invoke ruff check . and ruff format --check .
  4. Update tox.ini / CI to use ruff
  5. Fix any new lint findings surfaced by ruff

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions