I’m working on docs for a project, and while building them, I stumbled upon a case where sphinx (and a bunch of extensions) works fine under 3.12.3 and fails under 3.12.4.
Same OS (tested: Linux and macOS), same arch (tested: arm64), same deps (pinned).
I’ve made a reproducer: GitHub - dimaqq/MRE-sphinx-PurePath: Reproducer for Sphinx regression under Python 3.12.4
(all you need to try it out: pyenv
and tox
)
Sphinx maintainers commented that my Sphinx version is out of support, and that’s fair, as I was able to get docs to build with much newer Sphinx.
I’ve spent a fair amount of time just tracking this down, and the docs are rather complex, with custom config, many deps, etc.
Perhaps this all is obvious for a Sphinx expert?
Or maybe some Python (core?) dev would like to validate that it’s not a Python regression?
- Py 3.12.3 – OK
- Py 3.12.4 – 2 errors, which in itself is odd (*)
- PY 3.130b4 – many errors of similar kind (**)
(*) given from pathlib import PurePath
and many uses of PurePath in type hints, Sphinx/autodoc somehow gives warnings for only 2 uses.
(**) similar kind, though not exactly same, can’t find pathlib._local.Path
, etc.
Edit: I’ve made the MRE repo much smaller by cutting out most of the code, tests, and pyproject.toml which seemed to confused a few here.