코드와 선언의 불일치
패키지를 설치해 둔 개발 환경에서는 의존성 선언이 빠져 있어도 코드가 동작할 수 있다. 반대로 오래전에 쓰던 패키지가 선언에만 남아 있기도 한다. Deptry는 디렉터리와 하위 디렉터리의 Python 파일에서 모듈 가져오기를 확인하고 요구 의존성과 비교해 이런 불일치를 진단한다.
의존성의 역할 구분
코드에서 사용하지만 선언하지 않은 패키지와 선언했지만 사용하지 않는 패키지를 검사한다. 실제 코드가 개발용으로만 선언된 패키지를 가져오는 경우도 문제로 표시할 수 있다. 단순히 환경에 설치된 패키지 수를 세는 것과 달리 소스의 사용 관계를 확인하는 접근이다.
프로젝트 환경에서 검사
Poetry와 pip, PDM과 uv 등의 프로젝트를 지원하고 표준 프로젝트 메타데이터를 사용하는 구성도 다룬다. 패키지 메타데이터에 접근해야 하므로 프로젝트의 전용 가상 환경과 루트 디렉터리에서 실행하는 흐름이다. 명령행 옵션이나 프로젝트 설정으로 동작을 조정할 수 있다.
관련 문서
PDM Python / Poetry / Validate-pyproject / Pip-audit / Python Build