[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1109241: unblock: mkdocstrings-python-legacy/0.2.7-1



Package: release.debian.org
Severity: normal
X-Debbugs-Cc: mkdocstrings-python-legacy@packages.debian.org
Control: affects -1 + src:mkdocstrings-python-legacy
User: release.debian.org@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: dev@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.schoenert@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 <pawamoy@pm.me>
+Copyright: 2021-2025, Timothée Mazzucotelli <pawamoy@pm.me>
 License: ISC
 
 Files: debian/*
-Copyright: 2022-2024, Carsten Schoenert <c.schoenert@t-online.de>
+Copyright: 2022-2025, Carsten Schoenert <c.schoenert@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 to: