Open jorenham opened 3 days ago
looks like the only difference between sparray
and spmatrix
is that spmatrix
is an explicit re-export (from ._matrix import spmatrix as spmatrix
), maybe there's an issue with import suggestions with re-exports?
does the same thing happen with completions?
maybe there's an issue with import suggestions with re-exports
Yea, I suppose that makes sense. Especially because sparray
is actually defined in scipy.sparse._base
, whereas spmatrix
isn't.
does the same thing happen with completions?
Yea I believe so, but it's hard to tell because I'm also using codeium as an AI autocomplete assistant thingy
This screenshot is from scipy-stubs, specifically in
scipy-stubs/sparse/csgraph/_validation.pyi
(the relevant code isn't pushed yet, but will be soon).So here the
basedpyright
suggested to importsparray
fromscipy.sparse._base
, which I accepted because it was the only available option. But in the screenshot you can see that it wasn't able to findspmatrix
, even though it also is available in (at least)scipy.sparse._base
.Within
scipy.sparse._base.__all__
, onlysparray
is explicitly exported, andspmatrix
is implicitly exported throughfrom {} import spmatrix as spmatrix
(blamescipy
).But the strange thing is that both
spmatrix
andsparray
are both explicitly exported at the package level, i.e. throughscipy.sparse.__init__.__all__
. However, in both cases, thebasedpyright
plugin wasn't able to suggest this 🤔.