파이썬의 Linter이자 Formatter, Ruff 사용해보기

2024. 5. 10. 00:04·Python
목차
  1. 1. 설치
  2. 2. 사용법
  3. 3. 설정 (Custom)

flake8을 린터로 사용하고 black을 코드포매터로 사용하고 있는데 ruff는 이 두가지 역할을 모두하며 매우 빠르다. (추가로 isort도 사용하는데, ruff를 사용하면 다 대체 가능)

그냥 ruff 만을 사용하면 되는 수준이다.

그리고 다양한 곳에서 사용중이다. (검증이 되었단 소리)

  • Apache Airflow
  • Apache Superset
  • FastAPI
  • Hugging Face
  • Pandas
  • SciPy

Github Star 수도 급격히 증가하고 있다.

1. 설치

pip를 통해 간단히 설치할 수 있다.

pip install ruff

2. 사용법

Check

ruff

위는 명령어는 현재 디렉토리 하위의 .py 파일을 검사한다.
check가 생략된 것으로 검사만을 수행한다.

Fix

ruff --fix

check된 내용을 알아서 수정해준다.

3. 설정 (Custom)

ruff의 설정은 당연히 CLI의 argument로 할 수 있지만 일반적으로 pyproject.toml 혹은 ruff.toml 파일을 통해 설정할 수 있다.

poetry를 사용하면 pyproject.toml 에 한번에 관리하는 게 좋을 거 같다고 생각된다.

[tool.ruff]
# Line의 최대 length
line-length = 79

다양한 설정은 https://docs.astral.sh/ruff/configuration/ 에서 확인할 수 있다.

그리고 pre-commit으로 설정해서 사용하려면 https://github.com/astral-sh/ruff-pre-commit 여기를 확인하면 된다

 
  1. 1. 설치
  2. 2. 사용법
  3. 3. 설정 (Custom)
'Python' 카테고리의 다른 글
  • FastAPI에서 JWT로 사용자 회원가입/로그인 구현하기
  • 파이썬에서 Redis 사용하기
  • 행정동 지리정보 불러와서 시각화하기 (geopandas, keplergl)
  • A 작업은 실패하더라도 B는 성공했으면 좋겠어
ssuwani
ssuwani
  • ssuwani
    Oops!!
    ssuwani
  • 전체
    오늘
    어제
    • 분류 전체보기 (69)
      • MLOps (19)
      • 데이터 엔지니어링 (4)
      • Kubernetes (5)
      • Kafka (10)
      • 📚책 (3)
      • 라즈베리파이 (1)
      • ETC (8)
      • Python (6)
      • 언어모델 (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    datadrift
    BentoML
    FastAPI
    gcp
    Kafka
    mlflow
    Python
    LangChain
    Airflow
    Kubernetes
    asyncronous
    evidently ai
    consumer
    태그2
    RDD
    producer
    fluentbit
    Confluent Cloud
    redis
    Schema Registry
    Docker
    Kubeflow
    MLOps
    LLM
    Spark
    Github Actions
    auto tagging
    Prometheus
    태그1
    topic
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
ssuwani
파이썬의 Linter이자 Formatter, Ruff 사용해보기

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.