Skip to content

Releases: fatiando/pooch

v1.2.0

10 Sep 11:51
8841b96
Compare
Choose a tag to compare

Released on: 2020/09/10

Digital Object Identifier for the Zenodo archive

Bug fixes:

  • Fix FTP availability check when the file is in a directory. If the data file is not in the base directory, the Pooch.is_available test was broken since we were checking for the full path in ftp.nlst instead of just the file name. (#191)

New features:

  • Add the SFTPDownloader class for secure FTP downloads (#165)
  • Expose Pooch version as pooch.__version__ (#179)
  • Allow line comments in registry files with # (#180)

Enhancements:

  • Point to Unzip/tar from Decompress docs and errors (#200)

Documentation:

  • Re-factor the documentation into separate pages (#202)
  • Add warning to the docs about dropping Python 3.5 (#201)
  • Add histolab to the Pooch-powered projects (#189)

Maintenance:

  • Push documentation to GitHub Pages using Actions (#198)
  • Add GitHub Actions workflow for publishing to PyPI (#196)
  • Set up GitHub Actions for testing and linting (#194)
  • Test FTP downloads using a local test server (#192)

This release contains contributions from:

  • Leonardo Uieda
  • Hugo van Kemenade
  • Alessia Marcolini
  • Luke Gregor
  • Mathias Hauser

v1.1.1

14 May 10:33
01341a9
Compare
Choose a tag to compare

Bug fixes:

  • Delay data cache folder creation until the first download is attempted. As seen in recent issues in scikit-image, creating the data folder in pooch.create can cause problems since this function is called at import time. This means that importing the package in parallel can cause race conditions and crashes. To prevent that from happening, delay the creation of the cache folder until Pooch.fetch or retrieve are called. (#173)
  • Allow the data folder to already exist when creating it. This is can help cope with parallel execution as well. (#171)

Documentation:

  • Added scikit-image to list of Pooch users. (#168)
  • Fix typo in README and front page contributing section. (#166)

This release contains contributions from:

  • Leonardo Uieda
  • Egor Panfilov
  • Rowan Cockett

v1.1.0

13 Apr 17:54
bce7e60
Compare
Choose a tag to compare

Digital Object Identifier for the Zenodo archive

New features:

  • New function pooch.retrieve to fetch single files This is much more convenient than setting up a Pooch while retaining the hash checks and use of downloaders and processors. It automatically selects a unique file name and saves files to a cache folder. (#152)
  • Allow to use of different hashing algorithms (other than SHA256). Optionally specify the hash as alg:hash and allow pooch.Pooch to recognize the algorithm when comparing hashes. Setting an algorithsm is optional and omiting it defaults to SHA256. This is particularly useful when data are coming from external sources and published hashes are already available. (#133)

Documentation:

  • Add example for fetching datasets that change on the server, for which the hash check would always fail. (#144)
  • Fix path examples in docstring of pooch.os_cache. The docstring mentioned the data path as examples instead of the cache path. (#140)
  • Add example of creating a registry when you don't have the data files locally and would have to download them manually. The example uses the pooch.retrieve function to automate the process. The example covers two cases: when all remote files share the same base URL and when every file has its own URL. (#161)

Maintenance:

  • A lot of general refactoring of the internals of Pooch to facilitate development of the new pooch.retrieve function (#159 #157 #156 #151 #149)

This release contains contributions from:

  • Leonardo Uieda
  • Santiago Soler
  • Kacper Kowalik
  • Lucas Martin-King
  • Zac Flamig

v1.0.0

28 Jan 14:58
00411de
Compare
Choose a tag to compare

DOI: https://doi.org/10.5281/zenodo.3629329

This release marks the stabilization of the Pooch API. Further changes to the 1.* line will be fully backwards compatible (meaning that updating Pooch should not break existing code). If there is great need to make backwards incompatible changes, we will release a 2.* line. In that case, bug fixes will still be ported to the 1.* line for a period of time.

Improvements:

  • Allow blank lines in registry files. Previously, they would cause an error. (#138)

Backwards incompatible changes:

  • Using Python’s logging module to instead of warnings to inform users of download, update, and decompression/unpacking actions. This allows messages to be logged with different priorities and the user filter out log messages or silence Pooch entirely. Introduces the function pooch.get_logger to access the logging object used by Pooch. Users who relied on Pooch issuing warnings will need to update to capturing logs instead. All other parts of the API remain unchanged. (#115)

This release contains contributions from:

  • Daniel Shapero

v0.7.2

17 Jan 16:39
55e8845
Compare
Choose a tag to compare

🚨 Announcement: 🚨 We now have a JOSS paper about Pooch! Please cite it when you use Pooch for your research. (#116 with reviews in #132 and #134)

This is minor release which only updates the citation information to the new JOSS paper. No DOI was issued for this release since there are no code or documentation changes.

v0.7.1

17 Jan 16:12
1c9594c
Compare
Choose a tag to compare

DOI: https://doi.org/10.5281/zenodo.3611376

Improvements:

  • Better error messages when hashes don't match. Include the file name in the exception for a hash mismatch between a downloaded file and the registry. Before, we included the name of temporary file, which wasn't very informative. (#128)
  • Better error message for malformed registry files. When loading a registry file, inform the name of the file and include the offending content in the error message instead of just the line number. (#129)

Maintenance:

  • Change development status flag in setup.py to "stable" instead of "alpha". (#127)

This release was reviewed at the Journal of Open Source Software. The code and software paper contain contributions from:

  • Anderson Banihirwe
  • Martin Durant
  • Mark Harfouche
  • Hugo van Kemenade
  • John Leeman
  • Rémi Rampin
  • Daniel Shapero
  • Santiago Rubén Soler
  • Matthew Turk
  • Leonardo Uieda

v0.7.0

20 Nov 10:50
ea3b33a
Compare
Choose a tag to compare

DOI: https://doi.org/10.5281/zenodo.3547640

New features:

  • New pooch.FTPDownloader class for downloading files over FTP. Uses the standard library ftplib. The appropriate downloader is automatically selected by pooch.Pooch.fetch based on the URL (for anonymous FTP only), so no configuration is required. If authentication is required, pooch.FTPDownloader provides the need support. Ported from NCAR/aletheia-data by the author. (#118)
  • Support for file-like objects to Pooch.load_registry (opened either in binary or text mode). (#117)

Maintenance:

  • Testing and official support for Python 3.8. (#113)
  • 🚨 Drop support for Python 2.7. 🚨 Remove conditional dependencies and CI jobs. (#100)

Documentation:

  • In the tutorial, use pkg_resources.resource_stream() from setuptools to load the registry.txt file. It’s less error-prone than using os.path and __file__ and allows the package to work from zip files. (#120)
  • Docstrings formatted to 79 characters (instead of 88) for better rendering in Jupyter notebooks and IPython. These displays are limited to 80 chars so the longer lines made the docstring unreadable. (#123)

This release contains contributions from:

  • Anderson Banihirwe
  • Hugo van Kemenade
  • Remi Rampin
  • Leonardo Uieda

v0.6.0

22 Oct 09:00
e1df9d4
Compare
Choose a tag to compare

🚨 Pooch v0.6.0 is the last release to support Python 2.7 🚨

DOI: https://doi.org/10.5281/zenodo.3515031

New features:

  • Add optional download progress bar to pooch.HTTPDownloader (#97)

Maintenance:

  • Warn that 0.6.0 is the last version to support Python 2.7 (#108)

Documentation:

  • Update contact information to point to our Slack channel (#107)
  • Add icepack to list of projects using Pooch (#98)

This release contains contributions from:

  • Daniel Shapero
  • Leonardo Uieda

v0.5.2

25 Jun 02:37
e25b05f
Compare
Choose a tag to compare

Maintenance:

  • Add back support for Python 3.5 with continuous integration tests. No code changes were needed, only removing the restriction from setup.py. (#93)

This release contains contributions from:

  • Leonardo Uieda

v0.5.1

22 May 03:52
eb354fd
Compare
Choose a tag to compare

Documentation fixes:

  • Fix formatting error in pooch.Decompress docstring. (#81)
  • Fix wrong imports in the usage guide for post-processing hooks. (#84)
  • Add section to the usage guide explaining when to use pooch.Decompress. (#85)

This release contains contributions from:

  • Santiago Soler
  • Leonardo Uieda