|
""" |
|
Platform independent script to download all the |
|
`scipy.datasets` module data files. |
|
This doesn't require a full scipy build. |
|
|
|
Run: python _download_all.py <download_dir> |
|
""" |
|
|
|
import argparse |
|
try: |
|
import pooch |
|
except ImportError: |
|
pooch = None |
|
|
|
|
|
if __package__ is None or __package__ == '': |
|
|
|
import _registry |
|
else: |
|
|
|
from . import _registry |
|
|
|
|
|
def download_all(path=None): |
|
""" |
|
Utility method to download all the dataset files |
|
for `scipy.datasets` module. |
|
|
|
Parameters |
|
---------- |
|
path : str, optional |
|
Directory path to download all the dataset files. |
|
If None, default to the system cache_dir detected by pooch. |
|
""" |
|
if pooch is None: |
|
raise ImportError("Missing optional dependency 'pooch' required " |
|
"for scipy.datasets module. Please use pip or " |
|
"conda to install 'pooch'.") |
|
if path is None: |
|
path = pooch.os_cache('scipy-data') |
|
for dataset_name, dataset_hash in _registry.registry.items(): |
|
pooch.retrieve(url=_registry.registry_urls[dataset_name], |
|
known_hash=dataset_hash, |
|
fname=dataset_name, path=path) |
|
|
|
|
|
def main(): |
|
parser = argparse.ArgumentParser(description='Download SciPy data files.') |
|
parser.add_argument("path", nargs='?', type=str, |
|
default=pooch.os_cache('scipy-data'), |
|
help="Directory path to download all the data files.") |
|
args = parser.parse_args() |
|
download_all(args.path) |
|
|
|
|
|
if __name__ == "__main__": |
|
main() |
|
|