microsoft / python-type-stubs

A set of type stubs for popular Python packages. These are works in progress from the Microsoft Python team and others, with the intent that they are contributed to typeshed or to the associated packages once sufficiently complete.
MIT License
251 stars 99 forks source link

stub for sklearn.datasets.load_iris is missing a return type option #345

Open egerlach opened 1 week ago

egerlach commented 1 week ago

The Returns section of the docstring for sklearn.datasets.load_iris() has two options:

  1. An sklearn.utils.Bunch, if return_X_y is False
  2. A tuple[ndarray, ndarray] if return_X_y is True

The type stub for the function is

def load_iris(*, return_X_y: bool = False, as_frame: bool = False) -> tuple[Bunch, tuple]: ...

but I believe it should be:

def load_iris(*, return_X_y: bool = False, as_frame: bool = False) -> Bunch | tuple[ndarray, ndarray]: ...

or at least:

def load_iris(*, return_X_y: bool = False, as_frame: bool = False) -> Bunch | tuple: ...

which might be all we can get with parsing.

This might not be the only case of this in the codebase, but unfortunately I just have enough time to write this ticket. Normally I like to come with a bit more information, sorry about that.