Why use Pooch?#
Use cases#
Who: Scientists/researchers/developers looking to simply download a file.
Pooch makes it easy to download a file (one function call). On top of that, it also comes with some bonus features:
Download and cache your data files locally (so it’s only downloaded once).
Make sure everyone running the code has the same version of the data files by verifying cryptographic hashes.
Multiple download protocols HTTP/FTP/SFTP and basic authentication.
Download from Digital Object Identifiers (DOIs) issued by repositories like figshare and Zenodo.
Built-in utilities to unzip/decompress files upon download
Start here: Retrieving a single data file
Who: Package developers wanting to include sample data for use in tutorials and tests.
Pooch was designed for this! It offers:
Pure Python and minimal dependencies.
Download a file only if necessary.
Verification of download integrity through cryptographic hashes.
Extensible design: plug in custom download and post-processing functions.
Built-in utilities to unzip/decompress files upon download
Multiple download protocols HTTP/FTP/SFTP and basic authentication.
User control of data cache location through environment variables.
Start here: Manage a package’s sample data
History#
Pooch was born out of shared need between the Fatiando a Terra libraries and MetPy. During the Scipy Conference 2018 sprints, developers from both projects got together and, realizing the shared necessity, devised a package that would combine the best of the existing functionality already present in each project and extend it’s capabilities.