Skip to main content

setuptools plugin to download external files

Project description

build status pre-commit.ci status

setuptools-download

setuptools plugin to download external files

usage

this plugin is intended to be used through setuptools declarative metadata:

the value of download_* is an ini-like string with the section being the filename.

file settings

  • url (required): url to download the file from
  • sha256 (required): checksum of the downloaded file
  • group + marker (optional or required together)
    • group: a name for a mutually exclusive group
    • marker: a PEP 508 marker expression (can be specified multiple times)
      • only supports: os_name, sys_platform, platform_machine
  • extract + extract_path (optional or required together)
    • extract: how to extract the downloaded file (zip or tar)
    • extract_path: path to extract from archive

example

[options]
setup_requires = setuptools-download

[setuptools_download]
download_data_files =
    [share/example/data.txt]
    url = https://example.com/data.txt
    sha256 = aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    [share/example/embedded]
    url = https://example.com/release-1.0.tar.gz
    sha256 = bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
    extract = tar
    extract_path = release-v1.0/share/example/embedded
download_scripts =
    [example-tool]
    group = example-tool-binary
    marker = sys_platform = "linux" and platform_machine = "x86_64"
    url = https://example.com/example-tool-linux-x86-64
    sha256 = ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
    [example-tool]
    group = example-tool-binary
    marker = sys_platform = "darwin" and platform_machine = "x86_64"
    marker = sys_platform = "darwin" and platform_machine = "arm64"
    url = https://example.com/example-tool-darwin-x86-64
    sha256 = ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd
    [example-tool.exe]
    group = example-tool-binary
    marker = sys_platform = "win32" and platform_machine = "AMD64"
    url = https://example.com/example-tool-win32.exe
    sha256 = eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

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

setuptools_download-1.0.1.tar.gz (5.8 kB view hashes)

Uploaded Source

Built Distribution

setuptools_download-1.0.1-py2.py3-none-any.whl (6.3 kB view hashes)

Uploaded Python 2 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