프로젝트의 버그, 취약점, 유지보수 문제를 검사하고 CI 파이프라인에 Quality Gates를 적용하는 자체 호스팅 코드 품질·보안 플랫폼입니다.
econchick/interrogate
코드베이스의 함수, 클래스, 메서드, 모듈 중 docstring이 작성된 항목의 비율을 측정하고, CI에 적합한 통과·실패 기준을 적용하는 Python CLI입니다.
- 스타
- 678
- 포크
- 58
- 열린 이슈
- 42
- 마지막 커밋
- 4일 전
어떤 프로젝트인가요?
interrogate는 Python 소스 코드를 스캔해 docstring이 있는 모듈, 클래스, 메서드, 함수와 없는 항목을 보고합니다. 프로젝트, 파일 또는 객체 단위로 커버리지 비율을 제공하므로 코드 문서화가 얼마나 잘되어 있는지, 어느 부분에 공백이 있는지 확인할 수 있습니다.
이 도구는 보고뿐 아니라 문서화 기준을 강제하는 데도 사용할 수 있습니다. 커버리지가 설정된 임계값(기본값 80%, --fail-under로 설정 가능)보다 낮으면 실패 상태로 종료합니다. 따라서 CI 파이프라인이나 pre-commit hook에 쉽게 추가해 새로 작성하는 코드에 문서화를 요구할 수 있습니다. 요약 표, 객체별 상세 보기, 스크립트용 quiet 모드로 결과를 출력할 수 있습니다.
동작 방식은 pyproject.toml 또는 setup.cfg에서 설정할 수 있습니다. __init__ 메서드, magic method, private 또는 중첩 객체, setter, @overload 함수 같은 범주를 제외하거나 경로를 제외하고 정규식으로 이름을 필터링할 수 있습니다. Sphinx 및 Google docstring 스타일도 지원하며, shields.io 스타일의 커버리지 배지를 SVG 또는 PNG 형식으로 생성할 수 있습니다. Python 3.8 이상을 지원합니다.
핵심 기능
- 01모듈, 클래스, 메서드, 함수의 docstring 커버리지를 보고합니다.
- 02CI에서 사용할 수 있도록 커버리지가 설정 가능한 임계값보다 낮으면 실행을 실패 처리합니다.
- 03요약, 상세, quiet 출력 모드를 제공합니다.
- 04magic method, private 또는 중첩 객체 등 선택한 객체 유형을 제외합니다.
- 05Sphinx 및 Google docstring 스타일을 지원합니다.
- 06shields.io 스타일의 커버리지 배지를 SVG 또는 PNG 형식으로 생성합니다.
활용 사례
- CI 작업이나 pre-commit hook을 통해 새 코드에 docstring 작성을 요구합니다.
- 익숙하지 않은 Python 코드베이스가 얼마나 잘 문서화되어 있는지 평가합니다.
- 프로젝트 README에 문서화 커버리지 배지를 표시합니다.
- 문서 정비 작업 중 파일별 문서화 공백을 추적합니다.
빠른 시작
- 1
pip으로 PyPI에서 interrogate를 설치합니다
pip install interrogate - 2
Python 프로젝트 경로에서 interrogate를 실행해 docstring 커버리지를 확인합니다
interrogate [PATH]
사용 전 알아둘 점
- docstring의 존재 여부만 측정하며 품질은 평가하지 않습니다.
- PNG 배지를 생성하려면 cairo와 같은 추가 시스템 라이브러리가 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- interrogate은(는) 무엇인가요?
- 코드베이스의 함수, 클래스, 메서드, 모듈 중 docstring이 작성된 항목의 비율을 측정하고, CI에 적합한 통과·실패 기준을 적용하는 Python CLI입니다. interrogate는 Python 소스 코드를 스캔해 docstring이 있는 모듈, 클래스, 메서드, 함수와 없는 항목을 보고합니다. 프로젝트, 파일 또는 객체 단위로 커버리지 비율을 제공하므로 코드 문서화가 얼마나 잘되어 있는지, 어느 부분에 공백이 있는지 확인할 수 있습니다.
- interrogate은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- interrogate은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- interrogate은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. interrogate의 마지막 커밋은 2026년 11월 2일입니다.
- interrogate은(는) 어디에 사용할 수 있나요?
- CI 작업이나 pre-commit hook을 통해 새 코드에 docstring 작성을 요구합니다. 익숙하지 않은 Python 코드베이스가 얼마나 잘 문서화되어 있는지 평가합니다. 프로젝트 README에 문서화 커버리지 배지를 표시합니다. 문서 정비 작업 중 파일별 문서화 공백을 추적합니다.
- interrogate는 어떻게 설치하나요?
- pip으로 PyPI에서 interrogate를 설치합니다: pip install interrogate Python 프로젝트 경로에서 interrogate를 실행해 docstring 커버리지를 확인합니다: interrogate [PATH]
- interrogate은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/econchick/interrogate
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
프로젝트별로 설정할 수 있는 200개 이상의 규칙으로 Swift 스타일과 규칙을 검사하는 린터입니다.
PEP 257 규약에 맞게 docstring을 자동으로 다시 포맷하는 Python CLI 도구입니다.
Ruby 코드에 변이를 적용하고 테스트 스위트가 잡아내지 못하는 변경 사항을 알려주는 뮤테이션 테스트 도구입니다.
오프라인에서 실행되며 편집기, CI, 코드에서 팀의 글쓰기 스타일 규칙을 적용하는 CLI 문장 검사 도구입니다.
이름을 바꾼 경우에도 AI 에이전트가 복사한 함수를 찾아내는 로컬 기반의 결정론적 중복 코드 탐지 도구입니다.