Johnnydep
Pretty-print a dependency tree for a Python distribution. A simple example:
$ johnnydep requests
name summary
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
requests Python HTTP for Humans.
├── certifi>=2023.5.7 Python package for providing Mozilla's CA Bundle.
├── charset_normalizer<4,>=2 The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet.
├── idna<4,>=2.5 Internationalized Domain Names in Applications (IDNA)
└── urllib3<3,>=1.26 HTTP library with thread-safe connection pooling, file post, and more.
A more complex tree:
$ johnnydep boto3
name summary
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────
boto3 The AWS SDK for Python
├── botocore<1.44.0,>=1.43.12 Low-level, data-driven core of boto 3.
│ ├── jmespath<2.0.0,>=0.7.1 JSON Matching Expressions
│ ├── python-dateutil<3.0.0,>=2.1 Extensions to the standard Python datetime module
│ │ └── six>=1.5 Python 2 and 3 compatibility utilities
│ └── urllib3!=2.2.0,<3,>=1.25.4 HTTP library with thread-safe connection pooling, file post, and more.
├── jmespath<2.0.0,>=0.7.1 JSON Matching Expressions
└── s3transfer<0.18.0,>=0.17.0 An Amazon S3 Transfer Manager
└── botocore<2.0a.0,>=1.37.4 Low-level, data-driven core of boto 3.
├── jmespath<2.0.0,>=0.7.1 JSON Matching Expressions
├── python-dateutil<3.0.0,>=2.1 Extensions to the standard Python datetime module
│ └── six>=1.5 Python 2 and 3 compatibility utilities
└── urllib3!=2.2.0,<3,>=1.25.4 HTTP library with thread-safe connection pooling, file post, and more.
Johnnydep can also attempt to resolve the dependency tree:
$ johnnydep ipython --output-format pinned
ipython==9.13.0
decorator==5.3.1
ipython_pygments_lexers==1.1.1
jedi==0.20.0
matplotlib-inline==0.2.2
pexpect==4.9.0
prompt_toolkit==3.0.52
psutil==7.2.2
Pygments==2.20.0
stack-data==0.6.3
traitlets==5.15.0
parso==0.8.7
ptyprocess==0.7.0
wcwidth==0.7.0
asttokens==3.0.1
executing==2.2.1
pure_eval==0.2.3
Note that pip install lacked a working solver for many years, but pip v20.3 has a new solver (December 2020) which has really improved matters!
Check johnnydep --help for other features and options.
Helpful links
Metadata
Release files for johnnydep 2.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| johnnydep-2.1.1.tar.gz | 25.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| johnnydep-2.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.8 kB
Release files / johnnydep-2.1.1.tar.gz
| Download URL | johnnydep-2.1.1.tar.gz |
|---|---|
| Size | 25.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
64296fedfdb98afdcec72f9dd68779bb99fd88eb42935730db3ba6ace8442b99
|
|
BLAKE2b-256 checksum How to use checksums |
e688d9422dd8d382730672299f98c0425a89db56f6e6f890892aa0425bdf20f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / johnnydep-2.1.1-py3-none-any.whl
| Download URL | johnnydep-2.1.1-py3-none-any.whl |
|---|---|
| Size | 17.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e34696a1df0a71f26f031475ec3749f99e690e9c5039f9e9009ed3812f362b21
|
|
BLAKE2b-256 checksum How to use checksums |
46d79d8b12c88d444e880e883a5a4e4448a2e41937b5ed7b1ba593034d0ae3a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Security for johnnydep 2.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.