pyxem / kikuchipy

Toolbox for analysis of electron backscatter diffraction (EBSD) patterns
https://kikuchipy.org
GNU General Public License v3.0
78 stars 30 forks source link

Fix downloading remote datasets to cache on Windows #655

Closed hakonanes closed 8 months ago

hakonanes commented 8 months ago

Description of the change

Fixes #654 reported by @ericpre.

We use Pooch to manage our kikuchipy.data module. Pooch requires file paths with unix-style separators "/" only. However, os.path.join(), which returns paths with "\"-separators on Windows, was used to create paths passed to Pooch in one place in our data module. Thus the reported error.

This PR should fix this issue by using pathlib.Path to create paths for Pooch.

I tested that it works on a local Windows machine. This issue was not caught by our test suite because it is too computationally expensive to download a file from Zenodo in a test. I'm not sure how to make a computationally inexpensive test that would catch this without calling internal methods in Pooch.

Progress of the PR

Minimal example of the bug fix or new feature

The following works on Windows:

>>> import kikuchipy as kp
>>> s = kp.data.si_wafer(allow_download=True)

For reviewers