Ruff v0.16.0 — 기본 규칙이 59개에서 413개로 대폭 확대

1 hour ago 1

Rust로 작성된 Python 린터·포매터 Ruff v0.16.0은 기본 활성화 규칙을 59개에서 413개로 늘려, 별도 설정 없이 구문 오류와 즉시 발생하는 런타임 오류를 더 폭넓게 탐지함 Markdown에서 python, py, pyi, pycon 등으로 표시된 Python 코드 블록 포매팅을 지원하며 Quarto 노트북에도 적용 가능함 ruff: ignore와 ruff: file-ignore 가 추가돼 논리적 코드 행이나 파일 전체의 진단을 억제할 수 있고, --add-ignore로 주석을 자동 삽입할 수 있음 check와 format --check는 수정 내용을 기본 진단 아래 diff로 표시하며, 포매터 검사도 JSON과 GitHub·GitLab CI 주석용 출력 형식을 지원함 대부분은 큰 변경 없이 업그레이드할 수 있지만, 늘어난 기본 규칙과 일부 값이 null이 될 수 있는 JSON 출력 변경이 기존 설정과 자동화 도구에 미치는 영향을 확인해야 함 기본 규칙 413개로 확대 Ruff v0.16.0은 Rust로 작성된 고속 Python 린터·포매터로, PyPI 또는 uv tool install ruff@latest로 설치할 수 있음 Ruff의 전체 규칙은 v0.1.0 당시 708개에서 968개로 늘었지만, 기본 활성화 규칙은 그동안 59개로 유지돼 왔음 v0.16은 기본 규칙을 413개로 확대해 구문 오류와 즉시 발생하는 런타임 오류를 포함한 심각한 문제를 별도 설정 없이 탐지함 flake8-bugbear의 B, pyupgrade의 UP, Ruff 자체 RUF 범주 규칙 등이 포함됨 전체 목록은 Default Rules 문서에서 확인할 수 있음 select나 extend-select를 이미 사용하는 프로젝트도 새 기본 규칙을 통해 이전에 알지 못했던 유용한 규칙을 확인할 수 있음 이전 기본 규칙으로 되돌리려면 다음과 같이 설정함 [lint] select = ["E4", "E7", "E9", "F"] 이번 변경은 장기 과제인 규칙 재분류와 연결되며, 관련 작업도 계속 이어질 예정임 Markdown 코드 블록 포매팅 ruff format이 Markdown 파일에 포함된 Python 펜스 코드 블록을 포매팅함 지원하는 정보 문자열은 python, py, python3, py3, pyi, pycon임 pyi는 스텁 파일 형식으로 처리함 pycon은 REPL 세션 형식으로 처리함 나머지는 일반 Python 파...

Read Entire Article