I try to use numpy with nptyping
's Array
to do my typehinting.
I tried the following:
enemy_hand: Array[float, 48] = np.zeros(48)
I get an typerror:
Expected Type 'Array[float, Any]', got 'ndarray' instead
as far as I understand from this: https://pypi.org/project/nptyping/ thats how it should look.
nptyping
is currently useless for static analysis. Quoting a post by the library's developer on its issue tracker,
mypy
is just not supported bynptyping
(yet)
I wouldn't put much hope in that "yet". NumPy's dtype and shape handling is very hard to fit into the typing
/mypy
static type model, and nptyping
's own design decisions are a poor fit for NumPy itself. For example, it doesn't look like the dev ever considered arrays that aren't 2D, so Array[str, 3]
represents a 2D array with 3 rows and unspecified columns instead of a 3-element 1D array. All the implementation is in terms of rows and columns, too.
As far as I can tell, the only real functionality nptyping
has is isinstance
checks, and even that's buggy.