Skip to main content

pip-downloader

pip-downloader helps in allowing offline installations of python packages.

pip download already exists, which does something similar:
  • Pro: Handles dependency resolution in the same way pip install does - so no confusion

  • Pro: It is useful to download all the source packages with the --no-binary :all: argument.

  • Con: It downloads only 1 file per package (i.e. only source or only one of the wheel files)

  • Con: For downloads of a different system (not the system you’re running it from) it expects

    the package and all it’s dependencies to have similar wheels (eg: If cp36m-manylinux is the wheel for one library, all it’s dependencies should also have that wheel)

pip-downloader aims to solve the same issue but in a slightly different way:
  • It uses the same dependency resolution pip download uses but after resolving the dependencies

  • It downloads all the files (source and all wheels) available for that version of the package

This gives an experience that is more consistent with the online installation with pip as it has all the files (all wheels and sources) for installation.

Installation

It is recommended to use the latest version of pip (currently - 19.1) when using pip-downloader.

pip install pip-downloader

Usage

The command line utility pip-downloader should be available.

# To get help about pip-downloader
pip-downloader --help

# To fetch the list of packages and their versions that downloader will download (dry-run)
pip-downloader list flask

# To download the list of packages and their versions to the provided destination
pip-downloader download flask --dest /tmp/pypi

Known Limitations

  • Dependencies mentioned in setup_requires are not downloaded as pip’s dependency resolution mechanism does not consider them at the moment. Common setup-time requirements are: setuptools_scm, vcversioner, numpy, etc.

  • Build dependencies mentioned in pyproject.toml are not downlaoded as pip’s dependency manages install/run-time dependencies at the moment. (These are needed only if source installation is chosen when installing a package.)

  • When solving for packages with sys_platform environment markers, the package resolution will happen based on the machine you’re running pip-downloader from. Need to investigate on how to resolve this issue.

Metadata

Release files for pip-downloader 0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pip-downloader 0.2
File Size Uploaded Provenance Actions
pip-downloader-0.2.tar.gz 2.5 kB Without provenance Details for pip-downloader-0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pip-downloader 0.2
File Interpreter ABI Platform Actions
pip_downloader-0.2-py3-none-any.whl Python 3 none any Details for pip_downloader-0.2-py3-none-any.whl

Total release size: 5.9 kB

Release files / pip-downloader-0.2.tar.gz

Download URL pip-downloader-0.2.tar.gz
Size 2.5 kB
Tags Source
SHA-256 checksum
How to use checksums
6ee36aea20ea4f5fda96c2e94e87d1a91ca4dd18b957a14b7aaa46a153b79b19
BLAKE2b-256 checksum
How to use checksums
448fd82c408ca42a8a33a498e5a81e0ea94045c2353519d84490cd7e1e1a6e1b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.4

Release files / pip_downloader-0.2-py3-none-any.whl

Download URL pip_downloader-0.2-py3-none-any.whl
Size 3.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b669fcf13d76e6e4eede9c7ba25ea7a137caebcdcc0d2bf8d76f5e115aa20d12
BLAKE2b-256 checksum
How to use checksums
8d1b4b5efe2c50f61c3355d5e16a9b6741e86a350965b5a70a79149a562b6bcc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.4

Security for pip-downloader 0.2

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.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page