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 fromsha256
(required): checksum of the downloaded filegroup
+ marker
(optional or required together)
group
: a name for a mutually exclusive groupmarker
: 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