FAWLTYDEPS(1)

πŸ“¦
version 0.20.0 Β· 2 versions
, in fedora 43

✨ NAME ✨

FawltyDeps β€” bestie, this is the manual page for FawltyDeps v0.20.0, living in section 1 of the manual under User Commands. She finds your undeclared deps, she finds your unused deps, and she does it with main character energy. πŸ’…


🌸 DESCRIPTION 🌸

okay so. here's the whole vibe. FawltyDeps hunts down undeclared and/or unused 3rd-party dependencies in your Python project. that's the whole job. that's the mission. 🫢

Her invocation, in all her glory:

usage: fawltydeps [--check | --check-undeclared | --check-unused |
       --list-sources | --list-imports | --list-deps] [--summary |
       --detailed | --json] [--code PATH_OR_STDIN [PATH_OR_STDIN ...]]
       [--deps PATH [PATH ...]]  [--deps-parser-choice
       {requirements.txt,setup.py,setup.cfg,pyproject.toml,pixi.toml,environment.yml}]
       [--pyenv PYENV_DIR [PYENV_DIR ...]]  [--exclude PATTERN [PATTERN
       ...]]  [--exclude-from PATH [PATH ...]] [--base-dir BASE_DIR]
       [--install-deps] [--custom-mapping-file FILE_PATH [FILE_PATH ...]]
       [--config-file CONFIG_FILE] [--ignore-undeclared IMPORT_NAME [IMPORT_NAME ...]]
       [--ignore-unused DEP_NAME [DEP_NAME ...]] [-v] [-q] [--generate-toml-config] [-V] [-h]
       [search_paths ...]

She supports finding 3rd-party imports in Python scripts (*.py) and Jupyter notebooks (*.ipynb). yes, notebooks too. she sees everything. πŸ‘€

She also supports finding dependency declarations in a wide variety of file formats. versatile queen.


πŸŽ€ ACTIONS (choose one) πŸŽ€

pick one, bestie. just one. no greedy energy here.

  • --check β€” report both undeclared and unused dependencies. this is the default, so if you do nothing, you get everything. slay.
  • --check-undeclared β€” report only undeclared dependencies.
  • --check-unused β€” report only unused dependencies.
  • --list-sources β€” list the input paths used to extract imports, declared dependencies, and find installed packages.
  • --list-imports β€” list the third-party imports extracted from code.
  • --list-deps β€” list the declared dependencies.

πŸ’– OUTPUT FORMAT (choose one) πŸ’–

again. one. i'm watching. πŸ‘‘

  • --summary β€” generate a human-readable summary report. this is the default, iykyk.
  • --detailed β€” generate a human-readable detailed report.
  • --json β€” generate JSON output instead of a human-readable report. for when you want your machine to read it fr fr.

πŸ¦‹ SOURCE PATHS OPTIONS πŸ¦‹

  • search_paths β€” optional directories in which to search for code (imports), dependency declarations and/or Python environments. defaults to the current directory. no cap.
  • --code PATH_OR_STDIN [PATH_OR_STDIN ...] β€” the code to parse for import statements (files or directories, or use - to read code from stdin). defaults to search_paths (see above πŸ‘†).
  • --deps PATH [PATH ...] β€” where to find dependency declarations (files or directories). defaults to finding supported files under search_paths (see above πŸ‘†).
  • --deps-parser-choice {requirements.txt,setup.py,setup.cfg,pyproject.toml,pixi.toml,environment.yml} β€” the name of the parsing strategy to use for dependency declarations. super useful for when the file you want to parse doesn't match a standard name. she's flexible like that.
  • --pyenv PYENV_DIR [PYENV_DIR ...] β€” where to search for Python environments that have project dependencies installed. defaults to searching under search_paths (see above πŸ‘†).
  • --exclude PATTERN [PATTERN ...] β€” exclude patterns (.gitignore format) to apply when looking for code (imports), dependency declarations and/or Python environments. defaults to '.*', meaning that hidden/dot paths are excluded. byeee dotfiles.
  • --exclude-from PATH [PATH ...] β€” files containing exclude patterns to apply when looking for code (imports), dependency declarations and/or Python environments.
  • --base-dir BASE_DIR β€” directory used as base for determining 1st-party imports, i.e. where your project expects to find its own packages/modules. if not given, base directories will be deduced from the --code (or search_paths) arguments. see docs for more details.
  • --install-deps β€” allow FawltyDeps to auto-install declared dependencies into a separate temporary virtualenv to discover the imports they expose. temporary. she cleans up after herself. πŸ’…
  • --custom-mapping-file FILE_PATH [FILE_PATH ...] β€” path to toml file containing mapping of dependencies to imports defined by the user.

🌈 CONFIGURATION OPTIONS 🌈

  • --config-file CONFIG_FILE β€” where to find FawltyDeps config. default: ./pyproject.toml.
  • --ignore-undeclared IMPORT_NAME [IMPORT_NAME ...] β€” imports to ignore when looking for undeclared dependencies. e.g. --ignore-undeclared isort pkg_resources.
  • --ignore-unused DEP_NAME [DEP_NAME ...] β€” specify a list of dependencies to ignore when looking for unused dependencies. by default, this list includes common development tools. use this option to customize the list. e.g. --ignore-unused pylint black some_other_module.
  • -v, --verbose β€” increase log level. (WARNING by default, -v: INFO, -vv: DEBUG). not me turning the volume all the way up πŸ”Š
  • -q, --quiet β€” decrease log level. (WARNING by default, -q: ERROR, -qq: FATAL). shhh. library voice. πŸ™ˆ

⭐ OTHER OPTIONS ⭐

  • --generate-toml-config β€” print a TOML config section with the current settings, and exit.
  • -V, --version β€” print the version number of FawltyDeps.
  • -h, --help β€” show this help message and exit.

bestie reminder: pick exactly one action and exactly one output format. the vibes depend on it. ✨

and that's the whole page, babes. πŸŽ€ this was FawltyDeps v0.20.0, dated September 2025, and honestly? iconic. go declare your dependencies. periodt. πŸ’–πŸ¦‹πŸ‘‘

πŸ“¦ where this page comes from