Skip to content

Ifunc, inspect and numpy 1.17 #3365

@rcomer

Description

@rcomer

My latest PR has an unexpected Travis failure in test_ifunc:

ERROR: test_ifunc (iris.tests.test_basic_maths.TestIFunc)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/miniconda/envs/test-environment/lib/python3.6/site-packages/scitools_iris-2.3.0.dev0-py3.6.egg/iris/tests/test_basic_maths.py", line 605, in test_ifunc
    lambda a: a.units
  File "/home/travis/miniconda/envs/test-environment/lib/python3.6/site-packages/scitools_iris-2.3.0.dev0-py3.6.egg/iris/analysis/maths.py", line 928, in __init__
    raise ValueError(msg.format(data_func.__name__, self.nin))
ValueError: cumsum requires 0 input data arrays, the IFunc class currently only supports functions requiring 1 or two data arrays as input.

Ifunc uses either the nin attribute (which numpy.cumsum doesn't appear to have) or inspect.getargspec to figure out how many arrays can be passed to the numpy function.

I note that numpy 1.17 was released at the end of July, which probably explains why this failure has appeared now. I think this is as far as my debugging skills can take me on this one though!

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions