ruff: Flake8, Black, isort를 하나로. 1000배 빠른 Python 정적 분석
astral-sh/ruff
프로젝트 소개
Rust로 작성된 Python 린터이자 포맷터다. 기존 도구 대비 10~100배, 최대 1000배까지 빠른 속도로 코드를 검사하고 형식을 맞춰준다. CPython 코드베이스 전체를 스캔하는 데에도 초 단위로 처리가 끝난다.
Flake8, Black, isort, pydocstyle, pyupgrade 등 여러 도구의 기능을 하나의 인터페이스로 통합했다. 900개 이상의 내장 규칙을 지원하며, flake8-bugbear 같은 인기 플러그인의 기능을 네이티브로 재구현했다. 사용하지 않는 import 제거 등 오류를 자동으로 수정하는 기능도 제공한다.
pyproject.toml을 통해 설정을 관리하며, 모노레포 환경에 적합한 계층형 구성을 지원한다. 변경되지 않은 파일은 재분석하지 않는 캐싱 기능이 있어 반복 실행 시에도 속도가 유지된다. VS Code 등 에디터와 GitHub Action 연동을 통해 개발 워크플로우에 자연스럽게 통합된다.
Apache Airflow, FastAPI, Hugging Face, Pandas 등 주요 오픈소스 프로젝트에서 사용되고 있다. 로컬 개발 환경에서 커밋 후크로 실행하거나 CI 파이프라인에 포함해 코드 품질을 일관되게 유지하는 데 적합하다. Python 3.15까지 호환성을 지원한다.
astral-sh/ruff
An extremely fast Python linter and code formatter, written in Rust.
Rust
이 한국어 소개글은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.