Source: mkdocstrings-python-handlers Version: 0.8.3-1 Severity: wishlist Tags: patch User: reproducible-bui...@lists.alioth.debian.org Usertags: randomness toolchain X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org
Hi, Whilst working on the Reproducible Builds effort [0] we noticed that mkdocstrings-python-handlers was causing other packages to nod build reproducibly. Here is python-mkdocs: <span class="doc doc-labels"> - <small class="doc doc-label doc-label-writable"><code>writable</code></small> <small class="doc doc-label doc-label-property"><code>property</code></small> + <small class="doc doc-label doc-label-writable"><code>writable</code></small> </span> This is because the "griffe" Python module populates a Python set() object with strings such as "property" and "writable", which the labels.html template (in this package) then naïvely iterates over. A patch is attached that simply sorts these when rendering using Jinja's "|sort" filter. [0] https://reproducible-builds.org/ Regards, -- ,''`. : :' : Chris Lamb `. `'` la...@debian.org / chris-lamb.co.uk `-
diff --git a/src/mkdocstrings_handlers/python/templates/material/_base/labels.html b/src/mkdocstrings_handlers/python/templates/material/_base/labels.html index 4f2f72d..0c84067 100644 --- a/src/mkdocstrings_handlers/python/templates/material/_base/labels.html +++ b/src/mkdocstrings_handlers/python/templates/material/_base/labels.html @@ -1,7 +1,7 @@ {% if labels %} {{ log.debug("Rendering labels") }} <span class="doc doc-labels"> - {% for label in labels %} + {% for label in labels|sort %} <small class="doc doc-label doc-label-{{ label }}"><code>{{ label }}</code></small> {% endfor %} </span>