[Numpy-discussion] Hook in __init__.py to let distributors patch numpy
Robert Kern
robert.kern at gmail.com
Fri Feb 12 04:37:52 EST 2016
I would add a numpy/_distributor_init.py module and unconditionally import
it in the __init__.py. It's contents in our upstream sources would just be
a docstring:
"""Distributors! Put your initialization code here!
"""
One important technical benefit is that the unconditional import won't hide
ImportErrors in the distributor's code.
On Fri, Feb 12, 2016 at 1:19 AM, Matthew Brett <matthew.brett at gmail.com>
wrote:
> Hi,
>
> Over at https://github.com/numpy/numpy/issues/5479 we're discussing
> Windows wheels.
>
> On thing that we would like to be able to ship Windows wheels, is to
> be able to put some custom checks into numpy when you build the
> wheels.
>
> Specifically, for Windows, we're building on top of ATLAS BLAS /
> LAPACK, and we need to check that the system on which the wheel is
> running, has SSE2 instructions, otherwise we know ATLAS will crash
> (almost everybody does have SSE2 these days).
>
> The way I propose we do that, is this patch here:
>
> https://github.com/numpy/numpy/pull/7231
>
> diff --git a/numpy/__init__.py b/numpy/__init__.py
> index 0fcd509..ba3ba16 100644
> --- a/numpy/__init__.py
> +++ b/numpy/__init__.py
> @@ -190,6 +190,12 @@ def pkgload(*packages, **options):
> test = testing.nosetester._numpy_tester().test
> bench = testing.nosetester._numpy_tester().bench
>
> + # Allow platform-specific build to intervene in numpy init
> + try:
> + from . import _distributor_init
> + except ImportError:
> + pass
> +
> from . import core
> from .core import *
> from . import compat
>
> So, numpy __init__.py looks for a module `_distributor_init`, in which
> the distributor might have put custom code to do any checks and
> initialization needed for the particular platform. We don't by
> default ship a `_distributor_init.py` but leave it up to packagers to
> generate this when building binaries.
>
> Does that sound like a sensible approach to y'all?
>
> Cheers,
>
> Matthew
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> https://mail.scipy.org/mailman/listinfo/numpy-discussion
>
--
Robert Kern
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20160212/5135d3d0/attachment.html>
More information about the NumPy-Discussion
mailing list