Skip to main content

Install wheels with pre-resolved dependencies

Project description

pip-resolved

Why?

With tools such as Poetry, PDM (thanks to pdm-buildlocked) and pip-tools and we have the tools to build wheels with pinned dependencies, resolved at development time. Unfortunately, pip doesn't offer an easy way to install that without performing a full dependency-tree resolution at install time, which slows down the process.

pip-resolved was created as a thin wrapper around pip's existing functionality to allow users to install wheels with pre-resolved dependencies, without the need to package an extra requirements.txt or contraints file.

This is specially useful for applications (not libraries) that are being distributed as wheels with a fixed set of pinned dependencies to ensure reproducibility.

Installation

With pip

$ pip install pip-resolved

With pipx

$ pipx install pip-resolved

Usage

As simple as :point_down:

$ pip-resolved install <WHEEL>

How it works

pip-resolved extracts all pinned dependencies defined as Requires-Dist on your artifact metadata, generates a temporary requirements.txt file and executes the following command

$ pip install --no-deps -r requirements.txt <WHEEL>

The --no-deps command is key to make sure pip doesn't attempt to resolve the whole dependency tree.

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-resolved-0.3.0.tar.gz (2.1 kB view hashes)

Uploaded Source

Built Distribution

pip_resolved-0.3.0-py3-none-any.whl (3.0 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