Skip to main content

Tool to produce better formatted pip freeze.

Project description

Pip Freeze

Tool to produce better formatted pip freeze.

Instead of a flat list of requirements, this indents requirements which are dependencies and those that are primary installs. Dependencies shared by multiple packages are commented out.

This format can be re-read by the typical pip install -r requirements.txt and requires not adjustment to other code.

Motivation

Typical pip freeze flattens all requirements, regardless of the dependency structure.

astroid==2.4.2
certifi==2020.12.5
chardet==4.0.0
idna==2.10
isort==5.5.3
lazy-object-proxy==1.4.3
mccabe==0.6.1
pylint==2.6.0
requests==2.25.1
six==1.15.0
toml==0.10.1
urllib3==1.26.3
wrapt==1.12.1

This produces output that is valid requirements.txt but is nested

pylint==2.6.0
    astroid==2.4.2
        # latest_version=1.5.2 wheel
        lazy-object-proxy==1.4.3
        six==1.15.0
        wrapt==1.12.1
    # latest_version=5.7.0 wheel
    isort==5.5.3
    mccabe==0.6.1
    # latest_version=0.10.2 wheel
    toml==0.10.1
requests==2.25.1
    certifi==2020.12.5
    chardet==4.0.0
    # latest_version=3.1 wheel
    idna==2.10
    urllib3==1.26.3

Contributing

Local development is controlled through docker. docker-compose.yml contains different python environment containers to test this code out in.

make test will run the docker tests.

Makefile contains commands for development.

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

pipfreeze-2.0.1.tar.gz (6.3 kB view hashes)

Uploaded Source

Built Distribution

pipfreeze-2.0.1-py3-none-any.whl (6.4 kB view hashes)

Uploaded Python 3

Supported by

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