numpy / numpy/numpydoc

Return type annotation is collapsed when no name is given

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

Nobody has claimed this yet.

Dominant language
Python
Stars
355
Forks
181
Avg merge
1d 9h
Merged PRs (30d)
3

Description

When parsing documentation docstrings, not specifying the returned variable name with multiple return types (ie. float or None or float | None), induces that the rendered documentation is removing all spaces between annotations.

See the example below taken from pyvista where we use the numpydoc sphinx extension https://docs.pyvista.org/api/utilities/_autosummary/pyvista.get_array.html#pyvista.get_array
Image

This led us to add return parameter name all over the place as a workaround in https://github.com/pyvista/pyvista/pull/8081, thereby excluding RT02 rule.

Is there another workaround ? Is this a parsing bug ?

Thanks in advance.

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.

Research direction

Start by reproducing the pyvista example through the numpydoc Sphinx extension, focusing on the RT02 return-annotation path when no variable name is provided. Trace how annotations such as float or None or float | None are parsed and rendered; done means their spaces are preserved and the behavior has regression coverage.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.