Repolode
PyCQA

PyCQA/docformatter

PEP 257 규약에 맞게 docstring을 자동으로 다시 포맷하는 Python CLI 도구입니다.

스타
600
포크
98
열린 이슈
22
마지막 커밋
3일 전

어떤 프로젝트인가요?

docformatter는 Python docstring을 PEP 257 규약의 일부에 맞게 다시 작성하는 CLI 도구입니다. 따옴표 스타일을 통일하고, 여러 줄 docstring의 닫는 따옴표를 별도 줄로 옮기며, 요약과 설명 사이에 빈 줄을 넣고, 불필요한 들여쓰기와 줄 끝 공백을 제거합니다.

파일 하나 또는 프로젝트 전체를 대상으로 파일을 직접 수정할 수 있으며, --black 옵션으로 black 호환 모드를 지원합니다. Epytext 또는 Sphinx 스타일로 작성된 필드 목록도 포맷합니다. 설정은 pyproject.toml에서 읽을 수 있으며, Python 3.11 이상에서는 표준 라이브러리의 tomllib를 사용합니다.

코드베이스 전체의 docstring을 하나씩 손수 편집하지 않고 일관된 형식으로 유지하려는 개발자에게 유용합니다. 특히 lint 또는 pre-commit 단계에서 실행할 때 효과적입니다.

핵심 기능

  • 01docstring을 PEP 257의 따옴표 및 레이아웃 규칙에 맞게 다시 포맷합니다.
  • 02--black 옵션으로 black 호환 출력을 지원합니다.
  • 03Epytext 및 Sphinx 스타일의 필드 목록을 포맷합니다.
  • 04--in-place 옵션으로 파일을 직접 수정할 수 있습니다.
  • 05pyproject.toml에서 설정을 읽습니다.

활용 사례

  • Python 프로젝트 전체에서 docstring 형식을 통일합니다.
  • pre-commit 훅이나 CI 검사에서 docstring 형식을 자동으로 일관되게 유지합니다.
  • 따옴표와 들여쓰기가 일관되지 않은 레거시 코드의 docstring을 정리합니다.

빠른 시작

  1. 1

    pip으로 PyPI에서 docformatter를 설치합니다

    pip install --upgrade docformatter
  2. 2

    파일의 docstring을 제자리에서 포맷합니다

    docformatter --in-place example.py

포함된 컬렉션

토픽

자주 묻는 질문

docformatter은(는) 무엇인가요?
PEP 257 규약에 맞게 docstring을 자동으로 다시 포맷하는 Python CLI 도구입니다. docformatter는 Python docstring을 PEP 257 규약의 일부에 맞게 다시 작성하는 CLI 도구입니다. 따옴표 스타일을 통일하고, 여러 줄 docstring의 닫는 따옴표를 별도 줄로 옮기며, 요약과 설명 사이에 빈 줄을 넣고, 불필요한 들여쓰기와 줄 끝 공백을 제거합니다.
docformatter은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
docformatter은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
docformatter은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. docformatter의 마지막 커밋은 2026년 11월 3일입니다.
docformatter은(는) 어디에 사용할 수 있나요?
Python 프로젝트 전체에서 docstring 형식을 통일합니다. pre-commit 훅이나 CI 검사에서 docstring 형식을 자동으로 일관되게 유지합니다. 따옴표와 들여쓰기가 일관되지 않은 레거시 코드의 docstring을 정리합니다.
docformatter는 어떻게 설치하나요?
pip으로 PyPI에서 docformatter를 설치합니다: pip install --upgrade docformatter 파일의 docstring을 제자리에서 포맷합니다: docformatter --in-place example.py
docformatter은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/PyCQA/docformatter

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

관련 프로젝트