Skip to main content

Get the dependency tree of your Python virtual environment via Pip.

Project description

Pip Tree

Get the dependency tree of your Python virtual environment via Pip.

Build Status Coverage Status PyPi Licence

Showcase

There is no simple, native way to get the dependency tree of a Python virtual environment using the Pip package manager for Python. Pip Tree fixes this problem by retrieving every package from your virtual environment and returning a list of JSON objects that include the package name, version installed, date updated, and which packages are required by each package (the tree).

Install

# Homebrew install
brew tap justintime50/formulas
brew install pip-tree

# Install Pip Tree globally
pip3 install pip-tree

# Install Pip Tree into the virtual environment of the project you want to run it on
venv/bin/pip install pip-tree

# Install locally
just install

Usage

Virtual Env Usage:
    pip-tree

Global Usage:
    pip-tree --path "path/to/my_project/venv/lib/python3.9/site-packages"

Options:
    -h, --help            show this help message and exit
    -p PATH, --path PATH  The path to the site-packages directory of a Python virtual environment. If a path is not provided, the virtual environment Pip Tree is run from will be used.
    --version             show program's version number and exit

Sample Output

Generating Pip Tree Report...

[
    {
        "name": "docopt",
        "version": "0.6.2",
        "updated": "2021-05-12",
        "requires": [],
        "required_by": [
            "coveralls"
        ]
    },
    {
        "name": "flake8",
        "version": "3.9.2",
        "updated": "2021-05-12",
        "requires": [
            "mccabe<0.7.0,>=0.6.0",
            "pyflakes<2.4.0,>=2.3.0",
            "pycodestyle<2.8.0,>=2.7.0"
        ],
        "required_by": []
    },
    {
        "name": "Flask",
        "version": "2.0.0",
        "updated": "2021-05-12",
        "requires": [
            "click>=7.1.2",
            "itsdangerous>=2.0",
            "Jinja2>=3.0"
            "Werkzeug>=2.0",
        ],
        "required_by": []
    }
]

Pip Tree report complete! 40 dependencies found for "path/to/my_project/venv/lib/python3.12/site-packages".

Package

In addition to the CLI tool, you can use functions to retrieve the list of packages and their details from a Python virtual environment in your own code:

import pip_tree

path = 'path/to/my_project/venv/lib/python3.12/site-packages'

package_list = pip_tree.get_pip_package_list(path)
for package in package_list:
    package_details = pip_tree.get_package_details(package)
    print(package_details['name'])

Development

# Get a comprehensive list of development tools
just --list

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pip_tree-5.0.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pip_tree-5.0.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file pip_tree-5.0.0.tar.gz.

File metadata

  • Download URL: pip_tree-5.0.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pip_tree-5.0.0.tar.gz
Algorithm Hash digest
SHA256 12924e23b000db48d48ca5772c26c1e39f00f7ce507b202a0b05724caee687e2
MD5 f9388aa481c5b72a14bfcab5392622ae
BLAKE2b-256 52f88475f773f06ee979ff17165b386c4127c01644e4f95b0f950db4dd29ef80

See more details on using hashes here.

File details

Details for the file pip_tree-5.0.0-py3-none-any.whl.

File metadata

  • Download URL: pip_tree-5.0.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pip_tree-5.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d9a5b97d5944cb04d65f9f71d0d1cf2d6c1b9a7cdfda0a11afbf40328270d8d2
MD5 b209c8d2d798adc5a77cac9b8370ae89
BLAKE2b-256 d5b3780aca26a6e9aaea7bd80e7c179c2c138c0f118191e3f030c646ce8cb080

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page