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

Reply via email to