deptry – check for dependency issues

deptry is a command line utility for Python projects that checks declared dependencies against the modules actually imported by the codebase.

It scans Python source files and notebooks, compares imports with dependency definitions, and helps identify common packaging and maintenance problems such as missing packages, unused dependencies, transitive dependencies, misplaced development dependencies, and standard library modules that have been declared unnecessarily. It supports projects using PEP 621, Poetry, PDM, uv, setuptools, and requirements.txt style dependency files.

This is free and open source software.

Key Features

  • Checks for missing dependencies declared in neither pyproject.toml nor requirements files.
  • Reports unused dependencies that are listed but not used in the codebase.
  • Detects transitive dependencies that are imported without being declared directly.
  • Flags development dependencies that are used in non-development code.
  • Warns when Python standard library modules are incorrectly listed as project dependencies.
  • Supports PEP 621 projects as well as Poetry, PDM, uv, setuptools, pip, and pip-tools workflows.
  • Scans both Python source files and Jupyter notebooks, with options to ignore notebooks if needed.
  • Offers configuration through command line options or a [tool.deptry] section in pyproject.toml.
  • Supports inline ignore comments, per-rule ignores, exclude patterns, and package-to-module name mappings.
  • Can produce JSON reports and GitHub Actions annotations for CI workflows.
  • Can be integrated with pre-commit hooks.

Website: github.com/osprey-oss/deptry
Support:
Developer: Florian Maas and contributors
License: MIT License

deptry is written in Python. Learn Python with our recommended free books and free tutorials.


Related Software

Python Linters
RuffExtremely fast Python linter and code formatter
tyFast Python type checker
MypyStatic type checker for Python
BanditFind security issues in Python code
PylintStatic code analyser
wemake-python-styleguideFlake8 plugin
TachEnforces module dependencies and architectural boundaries
pycodestyleCheck Python code against style conventions in PEP 8
PyflakesChecks Python source files for errors
VultureFind dead code
PyreflyFast type checker and language server
Flake8Wrapper around PyFlakes and pycodestyle
BeartypeNear-real-time hybrid runtime-static type-checker
RadonComputes various metrics from Python code
PyrightFull-featured, standards-compliant static type checker
cython-lintLint Cython files
basedpyrightFork of pyright
RefurbModernize Python codebases
PylamaCode audit tool for Python
ProspectorBrings together the functionality of other Python analysis tools
deptryCheck for dependency issues
FixitHighly configurable linting framework
complexipyMeasures cognitive complexity in Python code
ZubanHigh-performance Python type checker and language server
PyromaRates how well a Python project compiles
pydoclintPython docstring linter
AridFast duplicate code detection for Python projects

Read our verdict in the software roundup.


Best Free and Open Source Software LinuxLinks helps you discover the best free and open source software for Linux. Explore our extensive collection of recommended applications, including alternatives to popular proprietary software.

We also publish software reviews, Linux tutorials, hardware reviews, free programming books and articles covering the wider open source community. Browse our Linux resources to discover more.

Know a useful free and open source Linux application we haven't covered? Suggest a program for inclusion.

Has your software been featured on LinuxLinks? Display one of our Featured on LinuxLinks badges on your website or GitHub README.
Subscribe

Please read our Comment Policy before commenting.

Notify of
guest
0 Comments
Oldest
Newest Most Voted