Django 모델, 폼, 뷰, 마이그레이션을 이해하도록 Pylint를 확장해 Django 코드의 오탐을 줄이는 플러그인입니다.
jendrikseipp/vulture
Python 프로젝트에서 사용되지 않는 함수, 클래스, 변수, import와 도달 불가능한 코드를 찾는 정적 분석 도구입니다.
- 스타
- 4,876
- 포크
- 209
- 열린 이슈
- 76
- 마지막 커밋
- 26일 전
어떤 프로젝트인가요?
Vulture는 Python 파일과 디렉터리를 검사해 정의됐지만 사용되지 않는 함수, 클래스, 속성, 변수, import, 도달 불가능한 분기 등의 코드를 찾습니다. 추상 구문 트리를 정적으로 분석하므로 코드를 실행하지 않습니다. 각 항목에는 60%~100%의 신뢰도 값이 부여되며, `--min-confidence` 플래그로 정확도가 낮은 추측을 걸러 확실한 데드 코드만 보고할 수 있습니다.
Python은 동적 언어이므로 Vulture가 데드 코드를 놓치거나 암묵적으로 호출되는 코드를 문제로 표시할 수 있습니다. 오탐을 처리하기 위해 사용 중인 것처럼 시뮬레이션하는 화이트리스트 파일, 이름·데코레이터·경로에 대한 glob 기반 무시 규칙, `pyproject.toml`을 통한 설정을 지원합니다. 결과는 크기순으로 정렬해 정리할 항목의 우선순위를 정할 수 있습니다.
Vulture는 CLI로 실행하거나 Python 모듈로 호출할 수 있으며, API를 통해 프로그램에서 사용하거나 pre-commit hook에 추가할 수도 있습니다. 출력 형식은 pyflakes와 호환됩니다.
핵심 기능
- 01사용되지 않는 함수, 클래스, 메서드, 속성, 변수, import를 탐지합니다
- 02`return`, `raise`, `break`, `continue` 뒤의 도달 불가능한 코드를 찾습니다
- 03신뢰도 값을 부여하고 `--min-confidence`로 결과를 필터링합니다
- 04오탐을 억제하는 화이트리스트 파일을 지원합니다
- 05`pyproject.toml`로 설정할 수 있으며 Python API로 사용할 수 있습니다
활용 사례
- 데드 코드가 쌓인 대규모 Python 코드베이스를 정리합니다
- 라이브러리와 테스트 스위트 모두에 Vulture를 실행해 테스트되지 않는 코드를 찾습니다
- pre-commit 또는 CI에서 데드 코드 검사를 자동으로 실행합니다
빠른 시작
- 1
PyPI에서 Vulture를 설치합니다
pip install vulture - 2
Python 스크립트 또는 패키지 디렉터리에서 Vulture를 실행합니다
vulture myscript.py mypackage/
사용 전 알아둘 점
- Python의 동적인 특성 때문에 사용되지 않는 코드를 놓치거나 암묵적으로 호출되는 코드를 사용되지 않는 것으로 보고할 수 있습니다.
- 100% 미만의 신뢰도 값은 매우 대략적인 추정치입니다.
토픽
자주 묻는 질문
- vulture은(는) 무엇인가요?
- Python 프로젝트에서 사용되지 않는 함수, 클래스, 변수, import와 도달 불가능한 코드를 찾는 정적 분석 도구입니다. Vulture는 Python 파일과 디렉터리를 검사해 정의됐지만 사용되지 않는 함수, 클래스, 속성, 변수, import, 도달 불가능한 분기 등의 코드를 찾습니다. 추상 구문 트리를 정적으로 분석하므로 코드를 실행하지 않습니다. 각 항목에는 60%~100%의 신뢰도 값이 부여되며, `--min-confidence` 플래그로 정확도가 낮은 추측을 걸러 확실한 데드 코드만 보고할 수 있습니다.
- vulture은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- vulture은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- vulture은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. vulture의 마지막 커밋은 2026년 10월 12일입니다.
- vulture은(는) 어디에 사용할 수 있나요?
- 데드 코드가 쌓인 대규모 Python 코드베이스를 정리합니다 라이브러리와 테스트 스위트 모두에 Vulture를 실행해 테스트되지 않는 코드를 찾습니다 pre-commit 또는 CI에서 데드 코드 검사를 자동으로 실행합니다
- vulture는 어떻게 설치하나요?
- PyPI에서 Vulture를 설치합니다: pip install vulture Python 스크립트 또는 패키지 디렉터리에서 Vulture를 실행합니다: vulture myscript.py mypackage/
- vulture은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/jendrikseipp/vulture
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
프로젝트별로 설정할 수 있는 200개 이상의 규칙으로 Swift 스타일과 규칙을 검사하는 린터입니다.
프로젝트의 버그, 취약점, 유지보수 문제를 검사하고 CI 파이프라인에 Quality Gates를 적용하는 자체 호스팅 코드 품질·보안 플랫폼입니다.
다른 PHP 버전에서 문제가 되는 기능이나 함수를 사용하는 코드를 감지하는 PHP_CodeSniffer 규칙 모음입니다.
PHP 도구를 로컬에 설치하지 않고 실행할 수 있도록 다양한 정적 분석·테스트·코드 품질 도구를 묶은 Docker 이미지입니다.
Jupyter Notebook에서 ruff, isort, black, mypy, flake8 같은 Python 린터와 포매터를 바로 실행하는 CLI 도구입니다.