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

Open
#345 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
45/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
python

Research direction

Search the sklearn.datasets stubs for the load_iris entry point and compare its return annotation with the linked documentation. Update the annotation to represent the return_X_y alternatives, then run the repository’s stub or type-check validation if available; it is done when both documented return forms are represented.

Written by the indexing model from the issue text.

Description

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.

Dominant language
Python
Stars
304
Forks
104
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from microsoft/python-type-stubs

All issues in microsoft/python-type-stubs

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.