코드 포매팅 기능이 실험적으로 uv에 도입됨

8 hours ago 2

  • 새로운 uv 버전에서 코드 포매팅 기능을 실험적으로 제공함
  • uv format 명령어는 Ruff의 포매터를 내부적으로 사용하여 Python 코드를 일관되게 스타일링함
  • 기존에 별도의 도구 없이 uv만으로 간편하게 코드 정리 작업 가능함
  • 사용자는 추가 인자를 통해 형식 지정 동작을 세부 조정할 수 있음
  • 아직 실험적인 기능이므로 명령 방식, 에러 처리 등에서 변화 가능성이 존재함

개요

uv의 최신 릴리즈(0.8.13)는 Python 개발자가 오랫동안 기다렸던 실험적 명령어인 uv format 기능을 도입함. 이 기능을 통해 프로젝트 내에서 별도의 포매팅 도구를 추가로 관리하지 않고도 uv 도구만으로 코드 스타일 정리를 수행할 수 있음

uv format이란?

  • uv format 명령어는 uv 인터페이스를 통해 Python 코드 포매팅을 제공함
  • 내부적으로는 Ruff 포매터를 호출하여 코드를 자동으로 일관성 있게 정리함

개발자 참고 사항

Charlie Marsh(uv 개발자)는 Hacker News에서 다음과 같이 설명함

Ruff와 uv는 병합되는 것이 아니며, 여전히 별개의 도구임
단순히 사용자가 포매터를 별도의 도구로 인식하지 않고도 이용하도록 경험을 향상시키는 목적임
Rust 생태계의 cargo fmt와 rustfmt 관계와 유사함

사용 방법

  • uv 0.8.13 이상의 버전을 사용해야 함
  • uv format 명령어를 프로젝트 루트에서 실행하면 ruff format을 수행하는 효과가 있음
  • 실행 방식은 uv의 명령어 인터페이스를 따름

추가 인자 전달

  • uv format -- [추가 인자] 형태로 Ruff에 전달할 세부 옵션을 설정할 수 있음
  • uv의 편의성과 Ruff의 세밀한 설정을 동시에 활용 가능함

실험 단계 안내

  • 현재 기능은 실험적인 단계로, 향후 명령 방식이나 프로젝트 구조 통합 방식이 달라질 수 있음
  • 에러 처리, 출력 형식 등도 지속적으로 개선 예정임
  • 사용자 피드백을 반영하여 기능이 진화할 예정임

마무리

  • Python 프로젝트에 간편하고 일관성 있는 코드 스타일링이 필요한 경우 uv format을 적극적으로 시도해볼 수 있음
  • 실험적 도입인 만큼, 직접 사용 후 피드백을 제공하면 향후 uv의 발전에 기여할 수 있음

Read Entire Article