xtensor-stack / xtensor-python

Python bindings for xtensor
BSD 3-Clause "New" or "Revised" License
347 stars 58 forks source link

Standardize xtensor_type_caster_base signature #234

Open AntoinePrv opened 4 years ago

AntoinePrv commented 4 years ago

Hello, I wonder if there is a reason why the xtensor_type_caster_base uses xt::xtensor for the signature

https://github.com/xtensor-stack/xtensor-python/blob/719b9d13566122c7d63d04ff2394644af35a27ba/include/xtensor-python/xtensor_type_caster_base.hpp#L161

instead of using numpy.ndarray[...]

https://github.com/xtensor-stack/xtensor-python/blob/719b9d13566122c7d63d04ff2394644af35a27ba/include/xtensor-python/pyarray.hpp#L72

In my opinion, using the Numpy name is more descriptive to a Python user, and actually matches the type.

I made a quick test using

_("numpy.ndarray[") + npy_format_descriptor<typename Type::value_type>::name + _("]");

which seems to work.

I could send a PR if you are interested.

Thank you

JohanMabille commented 4 years ago

Good question! Honestly, I don't remember the why of this decision. @SylvainCorlay @wolfv any idea?