Announcement: New dependency checker - FawltyDeps

FawltyDeps is a dependency checker designed to find both unused and undeclared dependencies in Python projects. FawltyDeps ensures that your project’s declared dependencies match the actual imports used in your code, improving reproducibility, security and overall project quality.

FawltyDeps analyzes your Python files and Jupyter notebooks to identify external imports, then compares these imports against the declared dependencies in files like pyproject.toml, requirements.txt, setup.py, and setup.cfg. This helps in identifying any dependencies you might have forgotten to declare or those that are declared but not used​.

GitHub: https://github.com/tweag/FawltyDeps
PyPI: fawltydeps · PyPI

Developing FawltyDeps has been a passion project for us over the last year and a half. It has significantly enhanced our Python projects by catching potential dependency issues early, thus maintaining a clean dependency tree and reproducible code. Furthermore, FawltyDeps itself has offered an opportunity to sharpen our Python skills and simply have a lot of fun discovering the intricacies of dependency management in Python!

For more details on how FawltyDeps works and can be useful, check out the announcement blog post and the design documentation.

FawltyDeps can be integrated into CI/CD pipelines and pre-commit hooks.

GitHub Action: GitHub - tweag/FawltyDeps-action: FawltyDeps GitHub Action to lint packages for undeclared or unused 3rd-party dependencies

It has been developed at Tweag, the Open Source Program Office of Modus Create. We warmly welcome all contributions.

9 Likes