Skip to content

Sphinx9 docs toolchain - #495

Merged
FlorentinD merged 3 commits into
mainfrom
sphinx9-docs-toolchain
Oct 30, 2026
Merged

FlorentinD merged 3 commits into
mainfrom
sphinx9-docs-toolchain

Conversation

@FlorentinD

Copy link
Copy Markdown
Collaborator

Thank you for your contribution to the Graph Visualization for Python project by Neo4j.

Before submitting this PR, please read Contributing to the Neo4j Ecosystem.

Make sure:

  • You signed the Neo4j CLA (Contributor License Agreement) so that we are allowed to ship your code in our library
  • Your contribution is covered by tests

enum_tools.autoenum fails on Sphinx 9 (it imports `logger`, which was removed
from sphinx.ext.autodoc), which is why the docs toolchain was capped at 8.1.x.
Drop the extension and document the enums with plain autoclass; the runtime
enum-tools dependency (document_enum) stays, so the member docstrings still
render.

Sphinx 9.1+ requires Python 3.13, so the docs group is gated on it and the docs
build is pinned to 3.13 (workflow and render scripts). nbsphinx is unaffected.
render_host_api_docs.sh ran `make clean html` directly, so it used whatever
sphinx-build was on PATH rather than the project's docs toolchain. Route it
through uv like `just render-docs` and CI.
@FlorentinD
FlorentinD requested a review from a team as a code owner October 30, 2026 13:29
Layout, CaptionAlignment, Direction, Packing, Renderer, SelectionMode,
WidgetLayout and ColorSpace were `(str, Enum)` mixins; StrEnum is the modern
spelling, so str() of a member now returns the value ("grid") instead of the
member name ("Layout.GRID"). Serialization is unchanged.

Drop the document_enum decorators, and the enum-tools dependency with them:
the decorator only did anything in interactive sessions, and the member
docstrings are read from the source when the docs are built.
@FlorentinD
FlorentinD merged commit 3f5b0ee into main Oct 30, 2026
14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant