Bonjour,
Je code une librairie python en utilisant les annotations de type. Elle manipule des tableaux numériques de type Numpy, PyTorch, …
Donc j'ai des fonctions qui peuvent prendre n'importe qu'elle type de tableau et je comprends pas comment faire les annotations. Pour le moment, je fais ça
Array=TypeVar("Array")defis_array(x)->TypeGuard[Array]:"""A TypeGuard for array-like objects."""returnarray_api_compat.is_array_api_obj(x)deffunc(inarray:Array)->Array:...
mais pyright me dit
warning: TypeVar "Array" appears only once in generic function signature. Use "object" instead (reportInvalidTypeVarUse)
Par ailleurs, j'utilise is_array dans mes fonctions
ifnotis_array(inarray):raiseValueError("`inarray` must be a compatible with Array API Standard (eg. numpy, pytorch, ...)")des_choses_avec_inarray
mais mypy me dit que inarray est de type Never (mais pas pyright)…
Bref, je suis un peu perdu, il semble que l'on rentre dans des subtilités hors de ma portée. Si vous pouvez m'aidez merci !
Commentaires :voir le flux Atomouvrir dans le navigateur