いやん。
なんかチェックが硬直してて pythonic じゃない気がすんのよね。見出しの通りで kivy.properties.NumericProperty が ndarray を拒絶しちゃうんだけれど、Cython のここ:
1 cdef convert(self, EventDispatcher obj, x):
2 if x is None:
3 return x
4 tp = type(x)
5 if tp is int or tp is float or tp is long:
6 return x
7 if tp is tuple or tp is list:
8 if len(x) != 2:
9 raise ValueError('%s.%s must have 2 components (got %r)' % (
10 obj.__class__.__name__,
11 self.name, x))
12 return self.parse_list(obj, x[0], x[1])
13 elif isinstance(x, string_types):
14 return self.parse_str(obj, x)
15 else:
16 raise ValueError('%s.%s have an invalid format (got %r)' % (
17 obj.__class__.__name__,
18 self.name, x))