Description
Hi,
I've been using quite a lot bottleneck accross projects so far but I always had to spam "#type: ignore" or to wrap the functions with my owns to avoid +100 pylance errors.
Today I wrote a prototype of what it could look like with the functions I use the most, you can take a look at:
https://github.com/OutSquareCapital/bn-typed
I added it as a dependency in one of my other repos and it work perfectly fine.
Keep in mind you still depends on numpy.typing to make it work correctly.
The reduction funcs signatures are in fact wrong because 2D-> 1D or 1D-> Scalar, however I'm not sure how to do it since you can have as many dimensions as you want.
That being said, IDE autocompletion, functions signatures, and no more pylance errors are quite nice to have, and this could easily be extended with the other funcs, as well as documentation docstrings.
This is the first issue I raise, and I'm still very green in my dev journey as you can see on my profile, so maybe I'm plain wrong, but since I wrote this for myself I tought it would be a good idea to share it as a starter!
EDIT:
the repo I linked should now contain all functions of bottleneck, properly typed. If anyone want it I can open a pull request