Feat: Use Ruff as a linter and formatter #43
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes Made
In this pull request, we have made the decision to switch from pylint and black to using Ruff exclusively. The rationale for this change is as follows:
Ruff
Ruff, an extremely fast Python linter and code formatter written in Rust, offers a robust solution for enforcing coding standards and identifying potential issues. Its comprehensive rule set and customizable configurations, along with seamless integration with popular code editors, provide real-time feedback, enabling developers to catch errors as they code. Ruff is black compatible and functions as both a linter and code formatter.
Pylint (Previous Configuration)
Pylint, known for its extensive AST analysis and modular system, is a powerful tool. However, its drawback is its excruciating slowness, which impacts the development flow.
Why the Change?
The decision to move to Ruff exclusively was driven by the desire for a faster and more immediate feedback loop during development. Ruff's speed and real-time feedback align with our goal of providing developers with quick insights into potential issues as they write code. This change aims to speed up checks and enhance the development flow.