Skip to main content

pypi-downloader

Description

This project can be used to mirror the pypi index using the new warehouse API.

This project consists of two scripts:

  1. a multithreaded version of the main script, pypi-downloader-mt.py, as command: pypi-downloader
  2. a helper script to get the current list of packages from the pypi index site currently located at: https://pypi.org/, as command: pypi-packages

Config file

If a config file is specified as a command line parameter, the config file uses the YAML format.

The config file consists of four sections:

  1. logging - Specifies a logging.dictConfig dictionary
  2. threads - Number of threads to use
  3. packages - List of packages to download, if no packages are specified, all packages are downloaded from the pypi index site
  4. blacklist - List of packages to not download

Note: For logging, this module uses the root logger only. Note: Values specified in the config file (threads and packages) can be overridden by values specified on the command line.

Config file examples

Default configuration

logging:
  version: 1
  formatters:
    simple:
      format: '[%(levelname)s]: %(message)s'
  handlers:
    console1:
      class: logging.StreamHandler
      level: ERROR
      formatter: simple
      stream: ext://sys.stderr
    console2:
      class: logging.StreamHandler
      level: DEBUG
      formatter: simple
      stream: ext://sys.stdout
  root:
    level: INFO
    stream: ext://sys.stdout
    handlers: [console1, console2]
threads: 1
packages:
blacklist:

Default configuration with packages and blacklist specified and non default thread count

logging:
  version: 1
  formatters:
    simple:
      format: '[%(levelname)s]: %(message)s'
  handlers:
    console1:
      class: logging.StreamHandler
      level: ERROR
      formatter: simple
      stream: ext://sys.stderr
    console2:
      class: logging.StreamHandler
      level: DEBUG
      formatter: simple
      stream: ext://sys.stdout
  root:
    level: INFO
    stream: ext://sys.stdout
    handlers: [console1, console2]
threads: 5
packages:
  - tox
  - mypy
blacklist:
  - pyyaml

Metadata

Release files for pypi-downloader 2.0.6

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

Source distribution (sdist)

Source distribution for pypi-downloader 2.0.6
File Size Uploaded Provenance Actions
pypi-downloader-2.0.6.tar.gz 9.5 kB Without provenance Details for pypi-downloader-2.0.6.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for pypi-downloader 2.0.6
File Interpreter ABI Platform Actions
pypi_downloader-2.0.6-py3-none-any.whl Python 3 none any Details for pypi_downloader-2.0.6-py3-none-any.whl

Total release size: 19.3 kB

Release files / pypi-downloader-2.0.6.tar.gz

Download URL pypi-downloader-2.0.6.tar.gz
Size 9.5 kB
Tags Source
SHA-256 checksum
How to use checksums
125d0e43eb9091306eabc6e3bbd2221caee29c9b265696ae9366f88cfe951715
BLAKE2b-256 checksum
How to use checksums
5c0eb0942ae6b1f4282c037915a1453d52451a4860c32e517fee967b2949340c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.12.1

Release files / pypi_downloader-2.0.6-py3-none-any.whl

Download URL pypi_downloader-2.0.6-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1326bde13f49d20de90f235403c5610894a0b1571bbcf07287ca2426f860999e
BLAKE2b-256 checksum
How to use checksums
570d86bba73f445117aa6d2569a55c8a1c13b7d0d84802c36089cd957bb12c6c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.12.1

Security for pypi-downloader 2.0.6

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.

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