sphinx-doc / sphinx-doc/sphinx

Improvements for Python API documentation

Open
#9,523 9 comments 11 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

extensions:autodoc extensions:autosummary type:enhancement
Dominant language
Python
Stars
8k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

I have recently implemented an extensive set of additional functionality/customizations to Sphinx for building the documentation for tensorstore:

https://google.github.io/tensorstore/python/api/index.html

I think that many of the changes that I made would also be useful to many other users, and would perhaps be good fits to incorporate into Sphinx itself, but I wanted to find out if there was interest in that.

Because a large amount of monkey patching was required, it would be easier to either add the functionality directly to Sphinx, or at least add necessary hooks such that monkey patching would not be required.

The theme itself is derived from mkdocs-material (see https://github.com/bashtage/sphinx-material/pull/96 for details on that), but some other improvements were inspired by pdoc3.

The specific changes include:

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

Review the linked TensorStore API documentation and the listed Sphinx customizations first, then inspect Sphinx's Python-domain and autosummary entry points. The issue needs a maintainer-selected scope and agreed behavior for the chosen feature before completion can be judged.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
documentation
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.