프로젝트 소개
Ruff는 Rust로 구현된 고성능 Python 린팅 및 포맷팅 도구입니다. 이는 Flake8, Black, isort, pydocstyle, pyupgrade, autoflake를 포함한 여러 인기 도구를 대체하는 통합 인터페이스 제공을 목표로 합니다.
주요 기능은 다음과 같습니다:
- 린터 및 포맷터: 코드 분석(린팅)과 자동 코드 포맷팅을 모두 제공합니다.
- 광범위한 규칙 세트: 많은 Flake8 플러그인(예: flake8-bugbear)의 네이티브 재구현을 포함하여 900개 이상의 내장 규칙을 지원합니다.
- 성능: 극도로 빠른 속도를 위해 설계되었으며, 내장 캐싱을 활용하여 변경되지 않은 파일의 재분석을 방지합니다.
- 자동 수정: `--fix` 플래그를 지원하여 사용하지 않는 임포트 제거와 같은 특정 린팅 오류를 자동으로 수정합니다.
- 통합: VS Code용 퍼스트 파티 확장 프로그램을 제공하며, pre-commit 훅 또는 GitHub Action으로의 통합을 지원합니다.
- 설정: 계층적 및 캐스케이딩 설정을 위해 `pyproject.toml`, `ruff.toml`, `.ruff.toml`과 호환됩니다.
- 호환성: Python 3.14를 지원하며 Black, isort, Flake8과 드롭인 패리티(drop-in parity)를 제공합니다.