Explore dependencies of a Python package by parsing its imports.
Project description
Explore dependencies of a Python package by parsing its imports.
This might be useful for:
seeing how modules within a package depend on each other
seeing which built-in libraries are relied upon
analysis of 3rd-party dependencies
etc.
Examples
Explore dependencies of this project:
$ pkgdeps /path/to/pkgdeps pkgdeps - argparse.ArgumentParser - ast - collections.defaultdict - functools.reduce - os - os.path - sys
Limitations
Only tested with Python 3 against Python 3 packages.
Doesn’t handle conditional imports; all conditional branches are inspected.
Outputs imported module members: from os.path import join creates a dependency on os.path.join, but we probably only want os.path for e.g. tsort output. However, internal dependencies are coarsened to the module level.
Installation
$ pip install pkgdeps
Usage
Various options are available to filter and format the output:
$ pkgdeps -h usage: pkgdeps [-h] [-n <num>] [-m <num>] [-e <type> | -o <type>] [-f <format>] </path/to/package> Explore dependencies of a package by parsing its imports. positional arguments: </path/to/package> path to package root optional arguments: -h, --help show this help message and exit -n <num>, --package-module-name-segments <num> truncate module names of inspected package to given number of segments (and consolidate imports) -m <num>, --dependency-module-name-segments <num> truncate module names of dependencies to given number of segments (and deduplicate) -e <type>, --exclude <type> exclude various kinds of dependencies from output (builtin, 3rd-party, internal) -o <type>, --only <type> include only dependencies of the given type (builtin, 3rd-party, internal) -f <format>, --format <format> graph output format (tree, tsort)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
File details
Details for the file pkgdeps-0.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: pkgdeps-0.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b53b3d53f507deab40900ea308a18cb5fab05fff2660cc3de92e18fe5cce642 |
|
MD5 | 7b5ff1439078cc6d0cd00fdf7ec91f73 |
|
BLAKE2b-256 | 165ada1be10fc03f7581045586b10832ebc6f113163b49367e937aaf612d5d4b |