Repolode
psf

psf/black

Black은 최소한의 diff로 파일을 직접 다시 작성하는, 고유한 스타일을 적용하는 결정론적 Python 코드 포매터입니다.

스타
41,948
포크
2,940
열린 이슈
298
마지막 커밋
20시간 전

어떤 프로젝트인가요?

Black은 고유한 스타일을 적용하는 Python 코드 포매터입니다. 제한적인 스타일 옵션을 바탕으로 파일 전체를 직접 다시 포맷하므로 프로젝트마다 코드 모양이 일관되고, 포맷 방식을 두고 논쟁할 필요가 없습니다. 가능한 한 diff를 최소화하도록 설계되어 코드 리뷰에서 내용에 집중할 수 있습니다.

Black을 사용하려면 Python 3.10 이상이 필요하며 pip로 설치할 수 있습니다. jupyter extra를 설치하면 Jupyter Notebook도 포맷할 수 있고, Python을 설치하고 싶지 않은 사용자를 위한 독립 실행 파일도 제공됩니다. 설정은 pyproject.toml에서 읽으며 include 및 exclude 패턴을 지정할 수 있지만, 기본값은 변경하지 않고도 사용할 수 있도록 구성되어 있습니다.

안전성을 위해 Black은 포맷된 코드가 원본과 동등한 AST로 파싱되는지 확인하며, --fast 플래그를 사용하면 이 검사를 건너뜁니다. 프로젝트 문서에는 코드 스타일과 함께, 스타일 변경을 버그 수정 및 새 Python 구문 지원으로 제한하는 안정성 정책이 설명되어 있습니다.

핵심 기능

  • 01제한된 고정 스타일 옵션으로 Python 파일을 직접 다시 포맷합니다.
  • 02코드 리뷰에서 내용에 집중할 수 있도록 diff를 최소화합니다.
  • 03기본적으로 포맷된 코드가 원본과 동등한 AST인지 확인합니다.
  • 04jupyter extra를 설치하면 Jupyter Notebook도 포맷합니다.
  • 05프로젝트 설정을 pyproject.toml에서 읽습니다.

활용 사례

  • Python 팀이나 저장소 전반에 일관된 코드 스타일을 적용합니다.
  • 포맷을 검사하도록 pre-commit 훅이나 CI에서 자동으로 실행합니다.
  • 일반 소스 파일과 함께 Jupyter Notebook의 Python 코드도 포맷합니다.

빠른 시작

  1. 1

    pip으로 Black 설치하기

    pip install black
  2. 2

    파일 또는 디렉터리 포맷하기

    black {source_file_or_directory}

사용 전 알아둘 점

  • 실행하려면 Python 3.10 이상이 필요합니다.

토픽

자주 묻는 질문

black은(는) 무엇인가요?
Black은 최소한의 diff로 파일을 직접 다시 작성하는, 고유한 스타일을 적용하는 결정론적 Python 코드 포매터입니다. Black은 고유한 스타일을 적용하는 Python 코드 포매터입니다. 제한적인 스타일 옵션을 바탕으로 파일 전체를 직접 다시 포맷하므로 프로젝트마다 코드 모양이 일관되고, 포맷 방식을 두고 논쟁할 필요가 없습니다. 가능한 한 diff를 최소화하도록 설계되어 코드 리뷰에서 내용에 집중할 수 있습니다.
black은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
black은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
black은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. black의 마지막 커밋은 2026년 10월 19일입니다.
black은(는) 어디에 사용할 수 있나요?
Python 팀이나 저장소 전반에 일관된 코드 스타일을 적용합니다. 포맷을 검사하도록 pre-commit 훅이나 CI에서 자동으로 실행합니다. 일반 소스 파일과 함께 Jupyter Notebook의 Python 코드도 포맷합니다.
black는 어떻게 설치하나요?
pip으로 Black 설치하기: pip install black 파일 또는 디렉터리 포맷하기: black {source_file_or_directory}
black은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/psf/black

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트