Skip to content

git-pull/gp-sphinx

Repository files navigation

gp-sphinx · Python Package License

Shared Sphinx documentation platform for git-pull projects.

Consolidates duplicated docs configuration, extensions, theme settings, and workarounds from 14+ repositories into a single reusable package.

Install

$ pip install gp-sphinx
$ uv add gp-sphinx

Usage

Replace ~300 lines of duplicated docs/conf.py with ~10 lines:

"""Sphinx configuration for my-project."""
from __future__ import annotations

from gp_sphinx.config import merge_sphinx_config

import my_project

conf = merge_sphinx_config(
    project="my-project",
    version=my_project.__version__,
    copyright="2026, Tony Narlock",
    source_repository="https://github.com/git-pull/my-project/",
    intersphinx_mapping={
        "py": ("https://docs.python.org/", None),
    },
)
globals().update(conf)

Features

  • merge_sphinx_config() API for shared defaults with per-project overrides
  • Shared extension list (autodoc, intersphinx, myst_parser, sphinx_design, etc.)
  • Shared Furo theme configuration (CSS variables, fonts, sidebar, footer)
  • Bundled workarounds (tabs.js removal, spa-nav.js injection)
  • Shared font configuration (IBM Plex via Fontsource)

More information

About

Sphinx shared components for git-pull projects

Topics

Resources

License

Contributing

Stars

Watchers

Forks