hyperspy / ci-scripts

CI helpers for the hyperspy ecosystem

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

scipy<1.4 on conda-forge but not PyPI surprised me

hakonanes opened this issue · comments

Hi all,

I'm developing kikuchipy (https://github.com/kikuchipy/kikuchipy), which extends the Signal2D class for electron backscatter diffraction patterns. We recently put out v0.2.0 on PyPI and conda-forge, in which we started using scipy.fft routines. We use only Travis CI. I didn't set scipy>1.4 in setup.py, so the conda-forge/kikuchipy-feedstock failed because HyperSpy has scipy<1.4 in their feedstock. I tried something stupid: I set scipy>1.4 in our feedstock. Much to my surprise the Azure pipeline went OK. So I merged and v0.2.0 was released on conda-forge. But of course it is incompatible with HyperSpy, so v0.2.0 cannot be installed from conda-forge.

My question: will adapting these CI scripts in place or in addition to the Travis CI (linux/mac/win) catch these incompatible requirements in day-to-day PR checks? Or at least before releasing on PyPI?

I'm releasing v0.2.1 in which we use numpy.fft for now, until HyperSpy v1.6 is released.

Much to my surprise the Azure pipeline went OK. So I merged and v0.2.0 was released on conda-forge. But of course it is incompatible with HyperSpy, so v0.2.0 cannot be installed from conda-forge.

For libraries used by many other libraries, pinning to the last minor version can be a source of trouble, as it can easily create incompatibilities with other libraries.

My question: will adapting these CI scripts in place or in addition to the Travis CI (linux/mac/win) catch these incompatible requirements in day-to-day PR checks? Or at least before releasing on PyPI?

It depends on how you uses these scripts. For example, https://github.com/hyperspy/hyperspy and https://github.com/LumiSpy/lumispy (LumiSpy/lumispy#35) are running Azure pipeline with conda packages on all 3 platforms and travis with pypi wheels on linux only.

Thanks for the quick response! OK, then I will adopt the Azure pipeline setup before next release.

And thanks a lot for these scripts and the work on HyperSpy in general.

The documentation of these scripts is still a bit rough... and needs improvement.

Hehe, understood. I'll see if I have anything to contribute when I update our CI.