From 232be0c21dd3b5696272b20d10b8aea9af5d1daf Mon Sep 17 00:00:00 2001 From: Christopher Barber Date: Wed, 19 Mar 2025 16:35:39 -0400 Subject: [PATCH 1/2] mkdocstrings-python 1.16.6 compatibility (#32) --- CHANGELOG.md | 4 +++ environment.yml | 3 +- pyproject.toml | 2 +- src/mkdocstrings_handlers/python_xref/VERSION | 3 +- .../python_xref/handler.py | 31 ++----------------- 5 files changed, 12 insertions(+), 31 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index db486b9..bd7da74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # mkdocstring-python-xref changes +## 1.16.0 + +* Compatibility with mkdocstrings-python 1.16.* + ## 1.14.1 * Restrict to mkdocstrings-python <1.16 (see bug #32) diff --git a/environment.yml b/environment.yml index 6d03d65..993cf7c 100644 --- a/environment.yml +++ b/environment.yml @@ -5,7 +5,7 @@ channels: dependencies: # runtime - python >=3.9,<3.14 - - mkdocstrings-python >=1.14,<1.16 # BUG: #32 + - mkdocstrings-python >=1.16.6,<2 - griffe >=1.0 # build - python-build >=1.0.0 @@ -24,3 +24,4 @@ dependencies: - mkdocs >=1.5.3,<2.0 - mkdocs-material >=9.5.4 - linkchecker >=10.4 + - pydantic >=2.0 diff --git a/pyproject.toml b/pyproject.toml index b33a2d6..a603fab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -25,7 +25,7 @@ keywords = [ dynamic = ["version"] requires-python = ">=3.9" dependencies = [ - "mkdocstrings-python >=1.14,<1.16", # BUG: #32 + "mkdocstrings-python >=1.16.6,<2.0", "griffe >=1.0" ] diff --git a/src/mkdocstrings_handlers/python_xref/VERSION b/src/mkdocstrings_handlers/python_xref/VERSION index 63e799c..9b5cfd7 100644 --- a/src/mkdocstrings_handlers/python_xref/VERSION +++ b/src/mkdocstrings_handlers/python_xref/VERSION @@ -1 +1,2 @@ -1.14.1 +1.16 + diff --git a/src/mkdocstrings_handlers/python_xref/handler.py b/src/mkdocstrings_handlers/python_xref/handler.py index 6d26907..89a46bb 100644 --- a/src/mkdocstrings_handlers/python_xref/handler.py +++ b/src/mkdocstrings_handlers/python_xref/handler.py @@ -20,14 +20,13 @@ import sys from dataclasses import dataclass, fields from pathlib import Path -from textwrap import dedent -from typing import Annotated, Any, ClassVar, Mapping, MutableMapping, Optional +from typing import Any, ClassVar, Mapping, MutableMapping, Optional from warnings import warn from mkdocs.config.defaults import MkDocsConfig from mkdocstrings.handlers.base import CollectorItem from mkdocstrings.loggers import get_logger -from mkdocstrings_handlers.python.config import PythonOptions, Field, PythonConfig +from mkdocstrings_handlers.python import PythonOptions, PythonConfig from mkdocstrings_handlers.python.handler import PythonHandler from .crossref import substitute_relative_crossrefs @@ -38,14 +37,6 @@ logger = get_logger(__name__) - -# TODO mkdocstrings 0.28 -# - `name` and `domain` (py) must be specified as class attributes -# - `handler` arg to superclass is deprecated -# - add `mdx` arg to constructor to pass on to superclass -# - `config_file_path` arg will no longer be passed -# - # TODO python 3.9 - remove when 3.9 support is dropped _dataclass_options = {"frozen": True} if sys.version_info >= (3, 10): @@ -53,23 +44,7 @@ @dataclass(**_dataclass_options) class PythonRelXRefOptions(PythonOptions): - check_crossrefs: Annotated[ - bool, - Field( - group="docstrings", - parent="docstring_options", - description=dedent( - """ - Enables early checking of all cross-references. - - Note that this option only takes affect if **relative_crossrefs** is - also true. This option is true by default, so this option is used to - disable checking. Checking can also be disabled on a per-case basis by - prefixing the reference with '?', e.g. `[something][?dontcheckme]`. - """ - ), - ), - ] = True + check_crossrefs: bool = True class PythonRelXRefHandler(PythonHandler): """Extended version of mkdocstrings Python handler From ad77c5a55df08705e187002b5e6b120eda8a6522 Mon Sep 17 00:00:00 2001 From: Christopher Barber Date: Wed, 19 Mar 2025 18:02:20 -0400 Subject: [PATCH 2/2] Remove some deprecated imports --- CHANGELOG.md | 1 + src/mkdocstrings_handlers/python_xref/crossref.py | 2 +- src/mkdocstrings_handlers/python_xref/handler.py | 6 ++---- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bd7da74..d497236 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## 1.16.0 * Compatibility with mkdocstrings-python 1.16.* +* Removed some deprecated imports from mkdoctrings ## 1.14.1 diff --git a/src/mkdocstrings_handlers/python_xref/crossref.py b/src/mkdocstrings_handlers/python_xref/crossref.py index 9e3f656..4dd63c1 100644 --- a/src/mkdocstrings_handlers/python_xref/crossref.py +++ b/src/mkdocstrings_handlers/python_xref/crossref.py @@ -19,7 +19,7 @@ from typing import Callable, List, Optional, cast from griffe import Docstring, Object -from mkdocstrings.loggers import get_logger +from mkdocstrings import get_logger __all__ = [ "substitute_relative_crossrefs" diff --git a/src/mkdocstrings_handlers/python_xref/handler.py b/src/mkdocstrings_handlers/python_xref/handler.py index 89a46bb..2efeed3 100644 --- a/src/mkdocstrings_handlers/python_xref/handler.py +++ b/src/mkdocstrings_handlers/python_xref/handler.py @@ -24,10 +24,8 @@ from warnings import warn from mkdocs.config.defaults import MkDocsConfig -from mkdocstrings.handlers.base import CollectorItem -from mkdocstrings.loggers import get_logger -from mkdocstrings_handlers.python import PythonOptions, PythonConfig -from mkdocstrings_handlers.python.handler import PythonHandler +from mkdocstrings import CollectorItem, get_logger +from mkdocstrings_handlers.python import PythonHandler, PythonOptions, PythonConfig from .crossref import substitute_relative_crossrefs