numpy/numpy — pull request #4800 by ogrisel (2014-06-11 09:05:28+00:00)
Title: FIX pickling ufuncs defined in nested modules

This is a fix for the following problem with ufuncs that are not defined in a top level module:

```
>>> from scipy.special import expit
>>> import pickle
>>> pickle.loads(pickle.dumps(expit))
Traceback (most recent call last):
File "", line 1, in
pickle.loads(pickle.dumps(expit))
File "/usr/lib/python2.7/pickle.py", line 1382, in loads
return Unpickler(file).load()
File "/usr/lib/python2.7/pickle.py", line 858, in load
dispatch[key](self)
File "/usr/lib/python2.7/pickle.py", line 1133, in load_reduce
value = func(*args)
File "/volatile/ogrisel/envs/py27/local/lib/python2.7/site-packages/numpy/core/__init__.py", line 56, in _ufunc_reconstruct
return getattr(mod, name)
AttributeError: 'module' object has no attribute 'expit'
```

Unfortunately I don't know how to write a test in numpy as all its ufuncs are importable from the namespace of the top level `numpy` package as far as I know.