Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.15"]
python-version: ["3.11", "3.12", "3.13", "3.14", "3.15"]
steps:
- uses: actions/checkout@v7

Expand Down
2 changes: 1 addition & 1 deletion .tool-versions
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
just 1.59.0
uv 0.13.7
python 3.15 3.14 3.13 3.12 3.11 3.10
python 3.15 3.14 3.13 3.12 3.11
11 changes: 11 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,17 @@ $ uv add gp-sphinx --prerelease allow

<!-- To maintainers and contributors: Please add notes for the forthcoming version below -->

### Breaking changes

#### Python 3.11 is now required

Python 3.10 reached end-of-life in October 2026. Every package in the
workspace now requires Python 3.11 or newer. (#84)

```toml
requires-python = ">=3.11"
```

### Fixes

#### `sphinx-vite-builder`: Load the Hatchling hook with newer Hatchling
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ cross-referenced API documentation.

## Requirements

- Python 3.10+
- Python 3.11+
- Sphinx 8.1+

## Install
Expand Down
5 changes: 1 addition & 4 deletions docs/_ext/package_reference.py
Original file line number Diff line number Diff line change
Expand Up @@ -77,10 +77,7 @@
if t.TYPE_CHECKING:
from docutils import nodes

if sys.version_info >= (3, 11):
import tomllib
else:
import tomli as tomllib # type: ignore[import-not-found, unused-ignore]
import tomllib

logger = logging.getLogger(__name__)

Expand Down
14 changes: 0 additions & 14 deletions docs/conftest.py

This file was deleted.

2 changes: 1 addition & 1 deletion docs/packages/sphinx-autodoc-typehints-gp/how-to.md
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Write the description on the class that *declares* the name. A subclass
that inherits the field inherits the description with it, so a base class
documenting forty fields does not oblige each subclass to repeat them.

On Python 3.10 and 3.11, use `typing_extensions.TypedDict` to inherit
On Python 3.11, use `typing_extensions.TypedDict` to inherit
key descriptions. The standard-library `TypedDict` does not retain the
base-class metadata needed to locate those descriptions until Python 3.12.

Expand Down
3 changes: 1 addition & 2 deletions packages/gp-furo-theme/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "gp-furo-theme"
version = "0.1.0a39"
description = "Tailwind v4 port of the Furo Sphinx theme for git-pull project documentation"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Theme",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
3 changes: 1 addition & 2 deletions packages/gp-sphinx/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "gp-sphinx"
version = "0.1.0a39"
description = "Shared Sphinx documentation platform for git-pull projects"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -13,7 +13,6 @@ classifiers = [
"Framework :: Sphinx",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
4 changes: 2 additions & 2 deletions packages/gp-sphinx/src/gp_sphinx/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ def linkcode_resolve(domain: str, info: dict[str, str]) -> str | None:
for part in fullname.split("."):
try:
obj = getattr(obj, part)
except Exception: # noqa: PERF203
except Exception:
return None

try:
Expand Down Expand Up @@ -277,7 +277,7 @@ def linkcode_resolve(domain: str, info: dict[str, str]) -> str | None:
for part in fullname.split("."):
try:
obj = getattr(obj, part)
except Exception: # noqa: PERF203
except Exception:
return None

try:
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-autodoc-api-style/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-autodoc-api-style"
version = "0.1.0a39"
description = "Sphinx extension for enhanced autodoc API entry styling (badges and cards)"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-autodoc-argparse/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-autodoc-argparse"
version = "0.1.0a39"
description = "Modern Sphinx extension for documenting argparse-based CLI tools"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -15,7 +15,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-autodoc-docutils/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-autodoc-docutils"
version = "0.1.0a39"
description = "Sphinx extension for documenting docutils directives and roles as first-class reference entries"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
2 changes: 1 addition & 1 deletion packages/sphinx-autodoc-fastmcp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ See the package docstrings and `sphinx_autodoc_fastmcp.setup()` for defaults.

## Dependencies

- Python 3.10+
- Python 3.11+
- Sphinx 8.1+
- `sphinx-ux-badges`, `sphinx-ux-autodoc-layout`, and `sphinx-autodoc-typehints-gp`
are declared dependencies and installed automatically with this package.
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-autodoc-fastmcp/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-autodoc-fastmcp"
version = "0.1.0a39"
description = "Sphinx extension for documenting FastMCP tools (cards, badges, cross-refs)"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-autodoc-pytest-fixtures/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-autodoc-pytest-fixtures"
version = "0.1.0a39"
description = "Sphinx extension for documenting pytest fixtures as first-class objects"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -15,7 +15,6 @@ classifiers = [
"Framework :: Pytest",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-autodoc-sphinx/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-autodoc-sphinx"
version = "0.1.0a39"
description = "Sphinx extension for documenting extension config values as first-class conf.py reference entries"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-autodoc-typehints-gp/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "sphinx-autodoc-typehints-gp"
version = "0.1.0a39"
description = "Cross-referenced type annotations for Sphinx autodoc"
readme = "README.md"
requires-python = ">=3.10"
requires-python = ">=3.11"
license = "MIT"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
Expand All @@ -19,7 +19,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,8 @@ def _autodoc_annotations(env: BuildEnvironment) -> dict[str, dict[str, str]]:
"""Return autodoc's per-document annotation store.

Sphinx 8.2 moved the store from ``env.temp_data["annotations"]`` to
``env.current_document.autodoc_annotations``; Sphinx 8.1, the newest
release installable on Python 3.10, has ``temp_data`` only.
``env.current_document.autodoc_annotations``; Sphinx 8.1 has
``temp_data`` only.

Parameters
----------
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-fonts/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-fonts"
version = "0.1.0a39"
description = "Sphinx extension for self-hosted fonts via Fontsource CDN"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-gp-highlighting/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-gp-highlighting"
version = "0.1.0a39"
description = "Reusable Pygments lexers and inline highlighting for Sphinx"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-gp-llms/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-gp-llms"
version = "0.1.0a39"
description = "LLM-friendly documentation outputs for Sphinx — llms.txt, llms-full.txt, docs.json, per-page Markdown"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-gp-mermaid/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-gp-mermaid"
version = "0.1.0a39"
description = "Build-time Mermaid diagrams for Sphinx — dual light/dark inline SVG rendered via mermaid-cli"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-gp-opengraph/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-gp-opengraph"
version = "0.1.0a39"
description = "OpenGraph and Twitter meta-tag emission for Sphinx — matplotlib-free"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-gp-sitemap/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-gp-sitemap"
version = "0.1.0a39"
description = "Sitemap generator for Sphinx — Sphinx 8.1+ idioms, parallel-build safe"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Extension",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -282,7 +282,7 @@ def _write_sitemap(app: Sphinx, exception: BaseException | None) -> None:
timestamp, _show_sourcelink = entry
if timestamp:
last_updated = dt.datetime.fromtimestamp(
int(timestamp), dt.timezone.utc
int(timestamp), dt.UTC
).strftime("%Y-%m-%dT%H:%M:%SZ")

links.append((sitemap_link, last_updated))
Expand Down
3 changes: 1 addition & 2 deletions packages/sphinx-gp-theme/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
name = "sphinx-gp-theme"
version = "0.1.0a39"
description = "Furo child theme for git-pull project documentation"
requires-python = ">=3.10,<4.0"
requires-python = ">=3.11,<4.0"
authors = [
{name = "Tony Narlock", email = "tony@git-pull.com"}
]
Expand All @@ -14,7 +14,6 @@ classifiers = [
"Framework :: Sphinx :: Theme",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
Expand Down
Loading
Loading