<div dir="ltr">Very cool work!!!</div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Wed, Aug 19, 2026 at 6:21 PM Jens Dietrich via rb-general <<a href="mailto:rb-general@lists.reproducible-builds.org">rb-general@lists.reproducible-builds.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">



<div>
<p style="direction:ltr;text-align:left;text-indent:0px;text-transform:none">
<span style="font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">Hi,</span></p>
<p style="text-align:left;text-indent:0px;text-transform:none">
<span style="font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">We have released the first version of
<b>daleq4py</b>, a new tool for comparing Python packages built from the same sources, for example packages produced by tools such as
<i>oss-rebuild</i> or <i>macaron</i>.</span></p>
<p style="text-align:left;text-indent:0px;text-transform:none">
<span style="font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">Often, the resulting packages are not identical. However, many of these differences are benign and can be explained by variations in the build environment.
<b>daleq4py</b> addresses this problem and, in many cases, can establish that packages are equivalent despite such differences.</span></p>
<p style="text-align:left;text-indent:0px;text-transform:none">
<span style="font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">The approach is similar to
<b>daleq</b> for Java packages: equivalence is expressed using datalog rules, and equivalence statements are backed by explanations constructed from recorded datalog derivations. </span></p>
<p style="text-align:left;text-indent:0px;text-transform:none">
<span style="font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><b>GitHub repository:</b> <a href="https://github.com/binaryeq/daleq4py/" style="margin-top:0px;margin-bottom:0px" target="_blank">https://github.com/binaryeq/daleq4py/</a></span></p>
<p style="text-align:left;text-indent:0px;text-transform:none">
<span style="font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><b>PyPI:</b> <a href="https://pypi.org/project/daleq4py/" style="margin-top:0px;margin-bottom:0px" target="_blank">https://pypi.org/project/daleq4py/</a></span></p>
<p style="text-align:left;text-indent:0px;text-transform:none">
<span style="font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"><b>Paper</b>, describing the approach and an evaluation using
<i>oss-rebuild</i> and <i>macaron</i> re-builds: <a href="https://arxiv.org/abs/2607.21888" style="margin-top:0px;margin-bottom:0px" target="_blank">
https://arxiv.org/abs/2607.21888</a></span></p>
<p style="text-align:left;text-indent:0px;text-transform:none">
<span style="color:rgb(0,0,0)"><b>Daleq</b> (similar tool for Java packages):  <a href="https://github.com/binaryeq/daleq/" style="margin-top:0px;margin-bottom:0px" target="_blank">https://github.com/binaryeq/daleq/</a></span><span style="font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)"> </span></p>
<p style="text-align:left;text-indent:0px;text-transform:none">
<span style="font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">The project is the result of a collaboration between
<b>Victoria University of Wellington</b> and <b>Oracle Australia</b>.</span></p>
<p style="text-align:left;text-indent:0px;text-transform:none"><span style="font-family:Aptos,Arial,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">— Jens, Spencer, Tim and Behnaz</span></p>
<div style="direction:ltr;font-family:Aptos,Arial,Helvetica,sans-serif;font-size:16px;color:rgb(0,0,0)">
<br>
</div>
</div>

</blockquote></div>