{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.xIMrBXbh/b1/python-cyclopts_3.9.0-1_i386.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.xIMrBXbh/b2/python-cyclopts_3.9.0-1_i386.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,3 +1,3 @@\n \n- 7aa03fa5e72564c13d9db7d960c4b9df 263816 doc optional python-cyclopts-doc_3.9.0-1_all.deb\n+ 70e855b6817d9bd0391fe6b93e9e8862 263832 doc optional python-cyclopts-doc_3.9.0-1_all.deb\n 8783327f29cc5ed6f71074a4c795082f 54316 python optional python3-cyclopts_3.9.0-1_all.deb\n"}, {"source1": "python-cyclopts-doc_3.9.0-1_all.deb", "source2": "python-cyclopts-doc_3.9.0-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2025-03-03 10:17:14.000000 debian-binary\n -rw-r--r-- 0 0 0 4836 2025-03-03 10:17:14.000000 control.tar.xz\n--rw-r--r-- 0 0 0 258788 2025-03-03 10:17:14.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 258804 2025-03-03 10:17:14.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "./usr/share/doc/python-cyclopts-doc/html/api.html", "source2": "./usr/share/doc/python-cyclopts-doc/html/api.html", "unified_diff": "@@ -2315,22 +2315,22 @@\n <p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=True, ext=()),))]</p>\n </dd></dl>\n \n <dl class=\"py data\">\n <dt class=\"sig sig-object py\" id=\"cyclopts.types.ResolvedPath\">\n <span class=\"sig-prename descclassname\"><span class=\"pre\">cyclopts.types.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ResolvedPath</span></span><a class=\"headerlink\" href=\"#cyclopts.types.ResolvedPath\" title=\"Link to this definition\">\uf0c1</a></dt>\n <dd><p>A <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code> file or directory. <code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">resolve()</span></code> is invoked prior to returning the path.</p>\n-<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(converter=<function _path_resolve_converter at 0xf67e95c8>)]</p>\n+<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(converter=<function _path_resolve_converter at 0xf67b5618>)]</p>\n </dd></dl>\n \n <dl class=\"py data\">\n <dt class=\"sig sig-object py\" id=\"cyclopts.types.ResolvedExistingPath\">\n <span class=\"sig-prename descclassname\"><span class=\"pre\">cyclopts.types.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ResolvedExistingPath</span></span><a class=\"headerlink\" href=\"#cyclopts.types.ResolvedExistingPath\" title=\"Link to this definition\">\uf0c1</a></dt>\n <dd><p>A <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code> file or directory that <strong>must</strong> exist. <code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">resolve()</span></code> is invoked prior to returning the path.</p>\n-<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=True, ext=()),)), Parameter(converter=<function _path_resolve_converter at 0xf67e95c8>)]</p>\n+<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=True, ext=()),)), Parameter(converter=<function _path_resolve_converter at 0xf67b5618>)]</p>\n </dd></dl>\n \n <dl class=\"py data\">\n <dt class=\"sig sig-object py\" id=\"cyclopts.types.Directory\">\n <span class=\"sig-prename descclassname\"><span class=\"pre\">cyclopts.types.</span></span><span class=\"sig-name descname\"><span class=\"pre\">Directory</span></span><a class=\"headerlink\" href=\"#cyclopts.types.Directory\" title=\"Link to this definition\">\uf0c1</a></dt>\n <dd><p>A <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code> that <strong>must</strong> be a directory (or not exist).</p>\n <p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=False, file_okay=False, dir_okay=True, ext=()),))]</p>\n@@ -2343,22 +2343,22 @@\n <p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=True, file_okay=False, dir_okay=True, ext=()),))]</p>\n </dd></dl>\n \n <dl class=\"py data\">\n <dt class=\"sig sig-object py\" id=\"cyclopts.types.ResolvedDirectory\">\n <span class=\"sig-prename descclassname\"><span class=\"pre\">cyclopts.types.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ResolvedDirectory</span></span><a class=\"headerlink\" href=\"#cyclopts.types.ResolvedDirectory\" title=\"Link to this definition\">\uf0c1</a></dt>\n <dd><p>A <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code> directory. <code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">resolve()</span></code> is invoked prior to returning the path.</p>\n-<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=False, file_okay=False, dir_okay=True, ext=()),)), Parameter(converter=<function _path_resolve_converter at 0xf67e95c8>)]</p>\n+<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=False, file_okay=False, dir_okay=True, ext=()),)), Parameter(converter=<function _path_resolve_converter at 0xf67b5618>)]</p>\n </dd></dl>\n \n <dl class=\"py data\">\n <dt class=\"sig sig-object py\" id=\"cyclopts.types.ResolvedExistingDirectory\">\n <span class=\"sig-prename descclassname\"><span class=\"pre\">cyclopts.types.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ResolvedExistingDirectory</span></span><a class=\"headerlink\" href=\"#cyclopts.types.ResolvedExistingDirectory\" title=\"Link to this definition\">\uf0c1</a></dt>\n <dd><p>A <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code> directory that <strong>must</strong> exist. <code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">resolve()</span></code> is invoked prior to returning the path.</p>\n-<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=True, file_okay=False, dir_okay=True, ext=()),)), Parameter(converter=<function _path_resolve_converter at 0xf67e95c8>)]</p>\n+<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=True, file_okay=False, dir_okay=True, ext=()),)), Parameter(converter=<function _path_resolve_converter at 0xf67b5618>)]</p>\n </dd></dl>\n \n <dl class=\"py data\">\n <dt class=\"sig sig-object py\" id=\"cyclopts.types.File\">\n <span class=\"sig-prename descclassname\"><span class=\"pre\">cyclopts.types.</span></span><span class=\"sig-name descname\"><span class=\"pre\">File</span></span><a class=\"headerlink\" href=\"#cyclopts.types.File\" title=\"Link to this definition\">\uf0c1</a></dt>\n <dd><p>A <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">File</span></code> that <strong>must</strong> be a file (or not exist).</p>\n <p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=False, file_okay=True, dir_okay=False, ext=()),))]</p>\n@@ -2371,22 +2371,22 @@\n <p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=False, ext=()),))]</p>\n </dd></dl>\n \n <dl class=\"py data\">\n <dt class=\"sig sig-object py\" id=\"cyclopts.types.ResolvedFile\">\n <span class=\"sig-prename descclassname\"><span class=\"pre\">cyclopts.types.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ResolvedFile</span></span><a class=\"headerlink\" href=\"#cyclopts.types.ResolvedFile\" title=\"Link to this definition\">\uf0c1</a></dt>\n <dd><p>A <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code> file. <code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">resolve()</span></code> is invoked prior to returning the path.</p>\n-<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=False, file_okay=True, dir_okay=False, ext=()),)), Parameter(converter=<function _path_resolve_converter at 0xf67e95c8>)]</p>\n+<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=False, file_okay=True, dir_okay=False, ext=()),)), Parameter(converter=<function _path_resolve_converter at 0xf67b5618>)]</p>\n </dd></dl>\n \n <dl class=\"py data\">\n <dt class=\"sig sig-object py\" id=\"cyclopts.types.ResolvedExistingFile\">\n <span class=\"sig-prename descclassname\"><span class=\"pre\">cyclopts.types.</span></span><span class=\"sig-name descname\"><span class=\"pre\">ResolvedExistingFile</span></span><a class=\"headerlink\" href=\"#cyclopts.types.ResolvedExistingFile\" title=\"Link to this definition\">\uf0c1</a></dt>\n <dd><p>A <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code> file that <strong>must</strong> exist. <code class=\"xref py py-meth docutils literal notranslate\"><span class=\"pre\">resolve()</span></code> is invoked prior to returning the path.</p>\n-<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=False, ext=()),)), Parameter(converter=<function _path_resolve_converter at 0xf67e95c8>)]</p>\n+<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=False, ext=()),)), Parameter(converter=<function _path_resolve_converter at 0xf67b5618>)]</p>\n </dd></dl>\n \n <dl class=\"py data\">\n <dt class=\"sig sig-object py\" id=\"cyclopts.types.BinPath\">\n <span class=\"sig-prename descclassname\"><span class=\"pre\">cyclopts.types.</span></span><span class=\"sig-name descname\"><span class=\"pre\">BinPath</span></span><a class=\"headerlink\" href=\"#cyclopts.types.BinPath\" title=\"Link to this definition\">\uf0c1</a></dt>\n <dd><p>A <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code> that <strong>must</strong> have extension <code class=\"docutils literal notranslate\"><span class=\"pre\">bin</span></code>.</p>\n <p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Path</span></code>, Parameter(validator=(Path(exists=False, file_okay=True, dir_okay=False, ext=('bin',)),))]</p>\n@@ -2622,15 +2622,15 @@\n <span class=\"n\">app</span><span class=\"p\">()</span>\n </pre></div>\n </div>\n <div class=\"highlight-console notranslate\"><div class=\"highlight\"><pre><span></span><span class=\"gp\">$ </span>my-script<span class=\"w\"> </span><span class=\"s1\">'{"foo": 1, "bar": 2}'</span>\n <span class=\"go\">{'foo': 1, 'bar': 2}</span>\n </pre></div>\n </div>\n-<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-obj docutils literal notranslate\"><span class=\"pre\">Any</span></code>, Parameter(converter=<function _json_converter at 0xf67e9028>)]</p>\n+<p>alias of <code class=\"xref py py-class docutils literal notranslate\"><span class=\"pre\">Annotated</span></code>[<code class=\"xref py py-obj docutils literal notranslate\"><span class=\"pre\">Any</span></code>, Parameter(converter=<function _json_converter at 0xf67b5078>)]</p>\n </dd></dl>\n \n </section>\n </section>\n <section id=\"config\">\n <span id=\"api-config\"></span><h2>Config<a class=\"headerlink\" href=\"#config\" title=\"Link to this heading\">\uf0c1</a></h2>\n <p>Cyclopts has builtin configuration classes to be used with <a class=\"reference internal\" href=\"#cyclopts.App.config\" title=\"cyclopts.App.config\"><code class=\"xref py py-attr docutils literal notranslate\"><span class=\"pre\">App.config</span></code></a> for loading user-defined defaults in many common scenarios.\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1606,59 +1606,59 @@\n A Path file or directory that m\bmu\bus\bst\bt exist.\n alias of Annotated[Path, Parameter(validator=(Path(exists=True,\n file_okay=True, dir_okay=True, ext=()),))]\n cyclopts.types.ResolvedPath_\b\uf0c1\n A Path file or directory. resolve() is invoked prior to returning the\n path.\n alias of Annotated[Path, Parameter(converter=<function\n- _path_resolve_converter at 0xf67e95c8>)]\n+ _path_resolve_converter at 0xf67b5618>)]\n cyclopts.types.ResolvedExistingPath_\b\uf0c1\n A Path file or directory that m\bmu\bus\bst\bt exist. resolve() is invoked prior to\n returning the path.\n alias of Annotated[Path, Parameter(validator=(Path(exists=True,\n file_okay=True, dir_okay=True, ext=()),)), Parameter(converter=<function\n- _path_resolve_converter at 0xf67e95c8>)]\n+ _path_resolve_converter at 0xf67b5618>)]\n cyclopts.types.Directory_\b\uf0c1\n A Path that m\bmu\bus\bst\bt be a directory (or not exist).\n alias of Annotated[Path, Parameter(validator=(Path(exists=False,\n file_okay=False, dir_okay=True, ext=()),))]\n cyclopts.types.ExistingDirectory_\b\uf0c1\n A Path directory that m\bmu\bus\bst\bt exist.\n alias of Annotated[Path, Parameter(validator=(Path(exists=True,\n file_okay=False, dir_okay=True, ext=()),))]\n cyclopts.types.ResolvedDirectory_\b\uf0c1\n A Path directory. resolve() is invoked prior to returning the path.\n alias of Annotated[Path, Parameter(validator=(Path(exists=False,\n file_okay=False, dir_okay=True, ext=()),)), Parameter(converter=<function\n- _path_resolve_converter at 0xf67e95c8>)]\n+ _path_resolve_converter at 0xf67b5618>)]\n cyclopts.types.ResolvedExistingDirectory_\b\uf0c1\n A Path directory that m\bmu\bus\bst\bt exist. resolve() is invoked prior to returning\n the path.\n alias of Annotated[Path, Parameter(validator=(Path(exists=True,\n file_okay=False, dir_okay=True, ext=()),)), Parameter(converter=<function\n- _path_resolve_converter at 0xf67e95c8>)]\n+ _path_resolve_converter at 0xf67b5618>)]\n cyclopts.types.File_\b\uf0c1\n A File that m\bmu\bus\bst\bt be a file (or not exist).\n alias of Annotated[Path, Parameter(validator=(Path(exists=False,\n file_okay=True, dir_okay=False, ext=()),))]\n cyclopts.types.ExistingFile_\b\uf0c1\n A Path file that m\bmu\bus\bst\bt exist.\n alias of Annotated[Path, Parameter(validator=(Path(exists=True,\n file_okay=True, dir_okay=False, ext=()),))]\n cyclopts.types.ResolvedFile_\b\uf0c1\n A Path file. resolve() is invoked prior to returning the path.\n alias of Annotated[Path, Parameter(validator=(Path(exists=False,\n file_okay=True, dir_okay=False, ext=()),)), Parameter(converter=<function\n- _path_resolve_converter at 0xf67e95c8>)]\n+ _path_resolve_converter at 0xf67b5618>)]\n cyclopts.types.ResolvedExistingFile_\b\uf0c1\n A Path file that m\bmu\bus\bst\bt exist. resolve() is invoked prior to returning the\n path.\n alias of Annotated[Path, Parameter(validator=(Path(exists=True,\n file_okay=True, dir_okay=False, ext=()),)), Parameter(converter=<function\n- _path_resolve_converter at 0xf67e95c8>)]\n+ _path_resolve_converter at 0xf67b5618>)]\n cyclopts.types.BinPath_\b\uf0c1\n A Path that m\bmu\bus\bst\bt have extension bin.\n alias of Annotated[Path, Parameter(validator=(Path(exists=False,\n file_okay=True, dir_okay=False, ext=('bin',)),))]\n cyclopts.types.ExistingBinPath_\b\uf0c1\n A Path that m\bmu\bus\bst\bt exist and have extension bin.\n alias of Annotated[Path, Parameter(validator=(Path(exists=True,\n@@ -1795,15 +1795,15 @@\n def main(json: types.Json):\n print(json)\n \n app()\n $ my-script '{\"foo\": 1, \"bar\": 2}'\n {'foo': 1, 'bar': 2}\n alias of Annotated[Any, Parameter(converter=<function _json_converter at\n- 0xf67e9028>)]\n+ 0xf67b5078>)]\n *\b**\b**\b**\b**\b* C\bCo\bon\bnf\bfi\big\bg_\b?\b\uf0c1 *\b**\b**\b**\b**\b*\n Cyclopts has builtin configuration classes to be used with _\bA_\bp_\bp_\b._\bc_\bo_\bn_\bf_\bi_\bg for\n loading user-defined defaults in many common scenarios. All Cyclopts builtins\n index into the configuration file with the following rules:\n 1. Apply root_keys (if provided) to enter the project's configuration\n namespace.\n 2. Apply the command name(s) to enter the current command's configuration\n"}]}, {"source1": "./usr/share/doc/python-cyclopts-doc/html/searchindex.js", "source2": "./usr/share/doc/python-cyclopts-doc/html/searchindex.js", "unified_diff": null, "details": [{"source1": "js-beautify {}", "source2": "js-beautify {}", "unified_diff": "@@ -1460,16 +1460,16 @@\n \"0\": [1, 11, 12, 18, 19, 22, 23, 24, 27, 32, 42, 45],\n \"0287\": 17,\n \"05\": 12,\n \"0b\": 24,\n \"0o\": 24,\n \"0th\": 23,\n \"0x\": 24,\n- \"0xf67e9028\": 1,\n- \"0xf67e95c8\": 1,\n+ \"0xf67b5078\": 1,\n+ \"0xf67b5618\": 1,\n \"1\": [1, 2, 12, 17, 18, 19, 23, 24, 25, 26, 42, 46],\n \"10\": [1, 6, 10, 18, 23, 24, 42],\n \"100\": [1, 12, 23, 31, 42],\n \"1024\": 23,\n \"1037\": 2,\n \"11\": 10,\n \"1102\": 2,\n"}]}]}]}]}]}