astropy / astropy/astropy-APEs

APE to discuss astropy doc infrastructure revamp

Open
#116 3 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
No language data
Stars
40
Forks
41
PR merge metrics
No merged PRs in 30d

Description

Ideas were floated in Astropy Coordination Meeting 2025.

Motivation: API doc is a pain with current infrastructure for those who love typing. Furthermore, sphinx-automodapi is under-maintained and has problem playing catch-up.

Alternatives discussed:

* https://github.com/readthedocs/sphinx-autoapi
* https://myst-parser.readthedocs.io
* Only does narrative docs, but has some plugins that do API docs.
* Numpy is looking into switching to this for their utorials. Scikit-image is looking at switching their documentation to this as well.
* Brigitta: It's more complex as the words are overloaded. MyST markdown is a markdown flavour, and then there are two sets of machinery to make it work with Sphinx, and most recently a whole new engine that doesn't require Sphinx. I'm about to deploy some docs sites with mystmd (the new engine), and will look into switching the astroquery and pyvo docs to use it (API docs with it is still rather experimental and it's not clear if all the things we currently use from Sphinx is all supported). But we already switch with e.g. the Turing Way (which arguably the easiest as there is no code nor API docs to deal with); and then we also actively looking into if we could retire the Scientific Python hugo theme in favour of a full, myst only solution.
* Apparently this is extensively covered in Scipy 2025 conference, so maybe check out the relevant talks on YouTube if they are available.
* https://www.mkdocs.org/
* Common in the ML world, which might mean the $$ is there

Cons:

* Might break intersphinx (ref) and linkcheck (direct URL) downstream.
* Stretch what little resources we have even thinner.
* By the time we are done, the next new shiny thing might appear, and then do we do this all over again?

All the implications must be explored carefully in this APE.

This APE can have proof-of-concept PR(s) applying alternative(s) of choice to fix up https://github.com/astropy/astropy/pull/17978 as a feasibility study.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading this APE and the feasibility-study target, astropy/astropy#17978, then compare the listed Sphinx AutoAPI, MyST and MkDocs alternatives. Document the implications for intersphinx, linkcheck and downstream users, and define what proof-of-concept PRs would demonstrate before recommending an infrastructure direction.

Written by the indexing model from the issue text.

Assessment

Tech stack
hugo, markdown
Domain
documentation, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.