[SciPy-Dev] pyproject.toml for scipy dependent project

Ralf Gommers ralf.gommers at gmail.com
Fri Apr 3 14:23:10 EDT 2020


On Thu, Apr 2, 2020 at 10:59 PM Roman Yurchak <rth.yurchak at gmail.com> wrote:

> On 02/04/2020 11:18, Ralf Gommers wrote:
> > In SciPy we haven't made changes that would prevent (a) I believe,
> > however the question is whether Cython preserves forwards ABI
> > compatibility. My guess is it may have been stable for quite a while,
> > but it's not guaranteed. So (a) could work, but (b) is healthier.
>
> Thanks for the confirmation! Actually there was an earlier related
> discussion in https://github.com/scipy/scipy/issues/6440 with a somewhat
> similar conclusion.
>

Great find, thanks! That issue says that the ABI is backwards but not
forwards compatible I believe, given Pauli's comment about being free to
add extra signatures. So go with (b) I'd say.

You suggested in that issue to document this better, that seems like a good
idea. That probably belongs in the reference guide (e.g. on the cython_blas
page, and then link to that from cython_lapack). Plus we should mention
this in the tutorial, and reference Ian's paper on this topic:
http://conference.scipy.org/proceedings/scipy2015/pdfs/ian_henriksen.pdf

Any chance I can interest you in this?

Cheers,
Ralf


> > Would be good to know what happens if you built SciPy master with latest
> > Cython, built your project against it, then ran tests against an older
> > SciPy binary - have you tried?
>
> You are right, it seems to work fine regardless of the scipy version for
> the build.
>
> Built scikit-learn in develop mode (to bypass pyproject.toml) with:
> Python 3.6, numpy 1.14.5, cython 0.29.16 and scipy master. Run
> scikit-learn test suite with scipy 0.19.1 -> no errors. Only a (small)
> part of the scipy Cython API is used there though.
>
> --
> Roman
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at python.org
> https://mail.python.org/mailman/listinfo/scipy-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20200403/af18bf50/attachment.html>


More information about the SciPy-Dev mailing list