Package: release.debian.org Severity: normal X-Debbugs-Cc: mkdocstrings-python-leg...@packages.debian.org Control: affects -1 + src:mkdocstrings-python-legacy User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package mkdocstrings-python-legacy [ Reason ] While working on some non packaged package (in particular NetBox, ITP https://bugs.debian.org/1017079) while DC25 it was discovered that the current version in testing (0.2.6-1) is affected by an issue that was fixed in the upstream version 0.2.7. The small part of the error we have seen is then this part. DEBUG - mkdocstrings: Collecting data DEBUG - mkdocstrings_handlers: Preparing input DEBUG - mkdocstrings_handlers: Writing to process' stdin ERROR - Error reading page 'plugins/development/dashboard-widgets.md': [Errno 32] Broken pipe make[1]: *** [debian/rules:23: override_dh_install] Error 1 make[1]: Leaving directory '/build/netbox-3.7.3' make: *** [debian/rules:7: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 The issue in detail is about writing output of mkdostrings-python-legacy casted to an string instead of keep as an instance of an Path. Upstream did fix this after sorting out https://github.com/mkdocstrings/mkdocstrings/issues/766 The fix basically is just one small change. https://github.com/mkdocstrings/python-legacy/commit/d6073891d05d4990f0cd064979e57d03d2de7f97 [ Impact ] Users will get hit by the same issue we discovered and are needed to wait for a fix through a point release. [ Tests ] The test suite is running successful but we also can confirm that the newer version let the build of NetBox again succeed. [ Risks ] The risk will be nearly zero, the popcorn of the package is very low but mainly the package isn't used by other central Python parts of the archive atm. Guess that's also a reason why no bug report was opened until now about that issue. [ Checklist ] [x] all changes are documented in the d/changelog [x] I reviewed all changes and I approve them [x] attach debdiff against the package in testing [ Other info ] Not so far, I'm available while DC25 to talk about this report withim some direct conversation. unblock mkdocstrings-python-legacy/0.2.7-1
diff -Nru mkdocstrings-python-legacy-0.2.6/CHANGELOG.md mkdocstrings-python-legacy-0.2.7/CHANGELOG.md --- mkdocstrings-python-legacy-0.2.6/CHANGELOG.md 2025-03-22 21:36:33.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/CHANGELOG.md 2025-05-22 12:58:24.000000000 +0200 @@ -5,6 +5,14 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html). <!-- insertion marker --> +## [0.2.7](https://github.com/mkdocstrings/python-legacy/releases/tag/0.2.7) - 2025-05-22 + +<small>[Compare with 0.2.6](https://github.com/mkdocstrings/python-legacy/compare/0.2.6...0.2.7)</small> + +### Bug Fixes + +- Write paths as strings, not Path instances in `sys.path.insert` commands ([d607389](https://github.com/mkdocstrings/python-legacy/commit/d6073891d05d4990f0cd064979e57d03d2de7f97) by Timothée Mazzucotelli). [Issue-mkdocstrings-766](https://github.com/mkdocstrings/mkdocstrings/issues/766) + ## [0.2.6](https://github.com/mkdocstrings/python-legacy/releases/tag/0.2.6) - 2025-03-22 <small>[Compare with 0.2.5](https://github.com/mkdocstrings/python-legacy/compare/0.2.5...0.2.6)</small> diff -Nru mkdocstrings-python-legacy-0.2.6/.copier-answers.yml mkdocstrings-python-legacy-0.2.7/.copier-answers.yml --- mkdocstrings-python-legacy-0.2.6/.copier-answers.yml 2025-03-22 21:36:33.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/.copier-answers.yml 2025-05-22 12:58:24.000000000 +0200 @@ -1,5 +1,5 @@ # Changes here will be overwritten by Copier. -_commit: 1.7.1 +_commit: 1.8.4 _src_path: gh:pawamoy/copier-uv author_email: d...@pawamoy.fr author_fullname: Timothée Mazzucotelli diff -Nru mkdocstrings-python-legacy-0.2.6/debian/changelog mkdocstrings-python-legacy-0.2.7/debian/changelog --- mkdocstrings-python-legacy-0.2.6/debian/changelog 2025-03-23 08:00:26.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/debian/changelog 2025-07-13 23:12:54.000000000 +0200 @@ -1,3 +1,16 @@ +mkdocstrings-python-legacy (0.2.7-1) unstable; urgency=medium + + [ Juri Grabowski ] + * [24903d6] New upstream version 0.2.7 + + [ Carsten Schoenert ] + * [16a01b3] d/py3dist-override: Delete file, it's not needed + * [b61d204] d/control Bump Standards-Version to 4.7.2 + No further changes needed. + * [06822de] d/copyright: Update year data + + -- Carsten Schoenert <c.schoen...@t-online.de> Sun, 13 Jul 2025 23:12:54 +0200 + mkdocstrings-python-legacy (0.2.6-1) unstable; urgency=medium * [10a75f1] New upstream version 0.2.6 diff -Nru mkdocstrings-python-legacy-0.2.6/debian/control mkdocstrings-python-legacy-0.2.7/debian/control --- mkdocstrings-python-legacy-0.2.6/debian/control 2025-03-23 08:00:26.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/debian/control 2025-07-13 23:07:40.000000000 +0200 @@ -19,7 +19,7 @@ python3-pytest <!nocheck>, python3-pytkdocs, Rules-Requires-Root: no -Standards-Version: 4.7.0 +Standards-Version: 4.7.2 Vcs-Browser: https://salsa.debian.org/python-team/packages/mkdocstrings-python-legacy Vcs-Git: https://salsa.debian.org/python-team/packages/mkdocstrings-python-legacy.git Homepage: https://github.com/mkdocstrings/python-legacy diff -Nru mkdocstrings-python-legacy-0.2.6/debian/copyright mkdocstrings-python-legacy-0.2.7/debian/copyright --- mkdocstrings-python-legacy-0.2.6/debian/copyright 2025-03-23 08:00:26.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/debian/copyright 2025-07-13 23:12:50.000000000 +0200 @@ -4,11 +4,11 @@ Source: https://github.com/mkdocstrings/python-legacy Files: * -Copyright: 2021-2024, Timothée Mazzucotelli <pawa...@pm.me> +Copyright: 2021-2025, Timothée Mazzucotelli <pawa...@pm.me> License: ISC Files: debian/* -Copyright: 2022-2024, Carsten Schoenert <c.schoen...@t-online.de> +Copyright: 2022-2025, Carsten Schoenert <c.schoen...@t-online.de> License: ISC License: ISC diff -Nru mkdocstrings-python-legacy-0.2.6/debian/py3dist-override mkdocstrings-python-legacy-0.2.7/debian/py3dist-override --- mkdocstrings-python-legacy-0.2.6/debian/py3dist-override 2025-03-23 08:00:26.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/debian/py3dist-override 1970-01-01 02:00:00.000000000 +0200 @@ -1 +0,0 @@ -pytkdocs python3-pytkdocs diff -Nru mkdocstrings-python-legacy-0.2.6/docs/css/mkdocstrings.css mkdocstrings-python-legacy-0.2.7/docs/css/mkdocstrings.css --- mkdocstrings-python-legacy-0.2.6/docs/css/mkdocstrings.css 2025-03-22 21:36:33.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/docs/css/mkdocstrings.css 2025-05-22 12:58:24.000000000 +0200 @@ -24,4 +24,49 @@ a.external:hover::after, a.autorefs-external:hover::after { background-color: var(--md-accent-fg-color); -} \ Kein Zeilenumbruch am Dateiende. +} + +/* Tree-like output for backlinks. */ +.doc-backlink-list { + --tree-clr: var(--md-default-fg-color); + --tree-font-size: 1rem; + --tree-item-height: 1; + --tree-offset: 1rem; + --tree-thickness: 1px; + --tree-style: solid; + display: grid; + list-style: none !important; +} + +.doc-backlink-list li > span:first-child { + text-indent: .3rem; +} +.doc-backlink-list li { + padding-inline-start: var(--tree-offset); + border-left: var(--tree-thickness) var(--tree-style) var(--tree-clr); + position: relative; + margin-left: 0 !important; + + &:last-child { + border-color: transparent; + } + &::before{ + content: ''; + position: absolute; + top: calc(var(--tree-item-height) / 2 * -1 * var(--tree-font-size) + var(--tree-thickness)); + left: calc(var(--tree-thickness) * -1); + width: calc(var(--tree-offset) + var(--tree-thickness) * 2); + height: calc(var(--tree-item-height) * var(--tree-font-size)); + border-left: var(--tree-thickness) var(--tree-style) var(--tree-clr); + border-bottom: var(--tree-thickness) var(--tree-style) var(--tree-clr); + } + &::after{ + content: ''; + position: absolute; + border-radius: 50%; + background-color: var(--tree-clr); + top: calc(var(--tree-item-height) / 2 * 1rem); + left: var(--tree-offset) ; + translate: calc(var(--tree-thickness) * -1) calc(var(--tree-thickness) * -1); + } +} diff -Nru mkdocstrings-python-legacy-0.2.6/docs/reference/api.md mkdocstrings-python-legacy-0.2.7/docs/reference/api.md --- mkdocstrings-python-legacy-0.2.6/docs/reference/api.md 1970-01-01 02:00:00.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/docs/reference/api.md 2025-05-22 12:58:24.000000000 +0200 @@ -0,0 +1,9 @@ +--- +title: API reference +hide: +- navigation +--- + +# ::: mkdocstrings_handlers.python + options: + show_root_full_path: true diff -Nru mkdocstrings-python-legacy-0.2.6/docs/reference/mkdocstrings_handlers/python.md mkdocstrings-python-legacy-0.2.7/docs/reference/mkdocstrings_handlers/python.md --- mkdocstrings-python-legacy-0.2.6/docs/reference/mkdocstrings_handlers/python.md 2025-03-22 21:36:33.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/docs/reference/mkdocstrings_handlers/python.md 1970-01-01 02:00:00.000000000 +0200 @@ -1,9 +0,0 @@ ---- -title: API reference -hide: -- navigation ---- - -# ::: mkdocstrings_handlers.python - options: - show_root_full_path: true diff -Nru mkdocstrings-python-legacy-0.2.6/mkdocs.yml mkdocstrings-python-legacy-0.2.7/mkdocs.yml --- mkdocstrings-python-legacy-0.2.6/mkdocs.yml 2025-03-22 21:36:33.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/mkdocs.yml 2025-05-22 12:58:24.000000000 +0200 @@ -20,7 +20,7 @@ - Changelog: changelog.md - Credits: credits.md - License: license.md -- API reference: reference/mkdocstrings_handlers/python.md +- API reference: reference/api.md - Development: - Contributing: contributing.md - Code of Conduct: code_of_conduct.md @@ -101,8 +101,7 @@ plugins: - search -- autorefs: - resolve_closest: true +- autorefs - markdown-exec - section-index - coverage @@ -115,6 +114,9 @@ - https://mkdocstrings.github.io/pytkdocs/objects.inv paths: [src, docs] options: + backlinks: tree + docstring_options: + ignore_init_summary: true docstring_section_style: list filters: ["!^_"] group_by_category: true @@ -131,11 +133,12 @@ signature_crossrefs: true summary: true - llmstxt: - files: - - output: llms-full.txt - inputs: + full_output: llms-full.txt + sections: + Usage: - index.md - - reference/**.md + API: + - reference/api.md - git-revision-date-localized: enabled: !ENV [DEPLOY, false] enable_creation_date: true diff -Nru mkdocstrings-python-legacy-0.2.6/pyproject.toml mkdocstrings-python-legacy-0.2.7/pyproject.toml --- mkdocstrings-python-legacy-0.2.6/pyproject.toml 2025-03-22 21:36:33.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/pyproject.toml 2025-05-22 12:58:24.000000000 +0200 @@ -52,7 +52,7 @@ [tool.pdm.build] includes = ["src/mkdocstrings_handlers"] # Include as much as possible in the source distribution, to help redistributors. -excludes = ["**/.pytest_cache", "**/.mypy_cache", "**/__pycache__"] +excludes = ["**/.pytest_cache", "**/.mypy_cache"] source-includes = [ "config", "docs", @@ -98,7 +98,7 @@ "mkdocs>=1.6", "mkdocs-coverage>=1.0", "mkdocs-git-revision-date-localized-plugin>=1.2", - "mkdocs-llmstxt>=0.1", + "mkdocs-llmstxt>=0.2", "mkdocs-material>=9.5", "mkdocs-minify-plugin>=0.8", "mkdocs-section-index>=0.3", diff -Nru mkdocstrings-python-legacy-0.2.6/scripts/gen_api_ref.py mkdocstrings-python-legacy-0.2.7/scripts/gen_api_ref.py --- mkdocstrings-python-legacy-0.2.6/scripts/gen_api_ref.py 2025-03-22 21:36:33.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/scripts/gen_api_ref.py 1970-01-01 02:00:00.000000000 +0200 @@ -1,38 +0,0 @@ -# Generate the API reference pages and navigation. - -from pathlib import Path - -import mkdocs_gen_files - -nav = mkdocs_gen_files.Nav() -mod_symbol = '<code class="doc-symbol doc-symbol-nav doc-symbol-module"></code>' - -root = Path(__file__).parent.parent -src = root / "src" - -for path in sorted(src.rglob("*.py")): - module_path = path.relative_to(src).with_suffix("") - doc_path = path.relative_to(src).with_suffix(".md") - full_doc_path = Path("reference", doc_path) - - parts = tuple(module_path.parts) - - if parts[-1] == "__init__": - parts = parts[:-1] - doc_path = doc_path.with_name("index.md") - full_doc_path = full_doc_path.with_name("index.md") - - if any(part.startswith("_") for part in parts): - continue - - nav_parts = [f"{mod_symbol} {part}" for part in parts] - nav[tuple(nav_parts)] = doc_path.as_posix() - - with mkdocs_gen_files.open(full_doc_path, "w") as fd: - ident = ".".join(parts) - fd.write(f"---\ntitle: {ident}\n---\n\n::: {ident}") - - mkdocs_gen_files.set_edit_path(full_doc_path, ".." / path.relative_to(root)) - -with mkdocs_gen_files.open("reference/SUMMARY.txt", "w") as nav_file: - nav_file.writelines(nav.build_literate_nav()) diff -Nru mkdocstrings-python-legacy-0.2.6/src/mkdocstrings_handlers/python/handler.py mkdocstrings-python-legacy-0.2.7/src/mkdocstrings_handlers/python/handler.py --- mkdocstrings-python-legacy-0.2.6/src/mkdocstrings_handlers/python/handler.py 2025-03-22 21:36:33.000000000 +0200 +++ mkdocstrings-python-legacy-0.2.7/src/mkdocstrings_handlers/python/handler.py 2025-05-22 12:58:24.000000000 +0200 @@ -152,7 +152,7 @@ commands = [] if search_paths: - commands.extend([f"sys.path.insert(0, {path!r})" for path in reversed(search_paths)]) + commands.extend([f"sys.path.insert(0, {str(path)!r})" for path in reversed(search_paths)]) if setup_commands := config.get("setup_commands"): # prevent the Python interpreter or the setup commands