{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.868HlaJH/b1/python-cyclopts_3.1.2-2_i386.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.868HlaJH/b2/python-cyclopts_3.1.2-2_i386.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,3 +1,3 @@\n \n- fcf1c184ca8a41cc9e5ffdb3f2464425 247872 doc optional python-cyclopts-doc_3.1.2-2_all.deb\n+ bcb7f7de1134cb4e72e3bf5f162b3336 247856 doc optional python-cyclopts-doc_3.1.2-2_all.deb\n 2417b3a97be773cf11d661abdee43a86 48056 python optional python3-cyclopts_3.1.2-2_all.deb\n"}, {"source1": "python-cyclopts-doc_3.1.2-2_all.deb", "source2": "python-cyclopts-doc_3.1.2-2_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-01-19 20:16:24.000000 debian-binary\n -rw-r--r-- 0 0 0 4624 2025-01-19 20:16:24.000000 control.tar.xz\n--rw-r--r-- 0 0 0 243056 2025-01-19 20:16:24.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 243040 2025-01-19 20:16:24.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": "@@ -2127,22 +2127,22 @@\n

alias of Annotated[Path, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=True),))]

\n \n \n
\n
\n cyclopts.types.ResolvedPath\uf0c1
\n

A Path file or directory. resolve() is invoked prior to returning the path.

\n-

alias of Annotated[Path, Parameter(converter=<function _path_resolve_converter at 0xf68fde38>)]

\n+

alias of Annotated[Path, Parameter(converter=<function _path_resolve_converter at 0xf6849e38>)]

\n
\n \n
\n
\n cyclopts.types.ResolvedExistingPath\uf0c1
\n

A Path file or directory that must exist. resolve() is invoked prior to returning the path.

\n-

alias of Annotated[Path, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=True),)), Parameter(converter=<function _path_resolve_converter at 0xf68fde38>)]

\n+

alias of Annotated[Path, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=True),)), Parameter(converter=<function _path_resolve_converter at 0xf6849e38>)]

\n
\n \n
\n
\n cyclopts.types.Directory\uf0c1
\n

A Path that must be a directory (or not exist).

\n

alias of Annotated[Path, Parameter(validator=(Path(exists=False, file_okay=False, dir_okay=True),))]

\n@@ -2155,22 +2155,22 @@\n

alias of Annotated[Path, Parameter(validator=(Path(exists=True, file_okay=False, dir_okay=True),))]

\n
\n \n
\n
\n cyclopts.types.ResolvedDirectory\uf0c1
\n

A Path directory. resolve() is invoked prior to returning the path.

\n-

alias of Annotated[Path, Parameter(validator=(Path(exists=False, file_okay=False, dir_okay=True),)), Parameter(converter=<function _path_resolve_converter at 0xf68fde38>)]

\n+

alias of Annotated[Path, Parameter(validator=(Path(exists=False, file_okay=False, dir_okay=True),)), Parameter(converter=<function _path_resolve_converter at 0xf6849e38>)]

\n
\n \n
\n
\n cyclopts.types.ResolvedExistingDirectory\uf0c1
\n

A Path directory that must exist. resolve() is invoked prior to returning the path.

\n-

alias of Annotated[Path, Parameter(validator=(Path(exists=True, file_okay=False, dir_okay=True),)), Parameter(converter=<function _path_resolve_converter at 0xf68fde38>)]

\n+

alias of Annotated[Path, Parameter(validator=(Path(exists=True, file_okay=False, dir_okay=True),)), Parameter(converter=<function _path_resolve_converter at 0xf6849e38>)]

\n
\n \n
\n
\n cyclopts.types.File\uf0c1
\n

A File that must be a file (or not exist).

\n

alias of Annotated[Path, Parameter(validator=(Path(exists=False, file_okay=True, dir_okay=False),))]

\n@@ -2183,22 +2183,22 @@\n

alias of Annotated[Path, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=False),))]

\n
\n \n
\n
\n cyclopts.types.ResolvedFile\uf0c1
\n

A Path file. resolve() is invoked prior to returning the path.

\n-

alias of Annotated[Path, Parameter(validator=(Path(exists=False, file_okay=True, dir_okay=False),)), Parameter(converter=<function _path_resolve_converter at 0xf68fde38>)]

\n+

alias of Annotated[Path, Parameter(validator=(Path(exists=False, file_okay=True, dir_okay=False),)), Parameter(converter=<function _path_resolve_converter at 0xf6849e38>)]

\n
\n \n
\n
\n cyclopts.types.ResolvedExistingFile\uf0c1
\n

A Path file that must exist. resolve() is invoked prior to returning the path.

\n-

alias of Annotated[Path, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=False),)), Parameter(converter=<function _path_resolve_converter at 0xf68fde38>)]

\n+

alias of Annotated[Path, Parameter(validator=(Path(exists=True, file_okay=True, dir_okay=False),)), Parameter(converter=<function _path_resolve_converter at 0xf6849e38>)]

\n
\n \n \n
\n

Number\uf0c1

\n

Annotated types for checking common int/float value constraints.\n All of these types will also work on sequence of numbers (e.g. tuple[int, int] or list[float]).

\n@@ -2320,15 +2320,15 @@\n app()\n \n \n
$ my-script '{"foo": 1, "bar": 2}'\n {'foo': 1, 'bar': 2}\n 
\n
\n-

alias of Annotated[Any, Parameter(converter=<function _json_converter at 0xf68b98e8>)]

\n+

alias of Annotated[Any, Parameter(converter=<function _json_converter at 0xf6802938>)]

\n \n \n
\n \n
\n

Config\uf0c1

\n

Cyclopts has builtin configuration classes to be used with App.config for loading user-defined defaults in many common scenarios.\n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1448,59 +1448,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),))]\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=)]\n+ _path_resolve_converter at 0xf6849e38>)]\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),)), Parameter(converter=)]\n+ _path_resolve_converter at 0xf6849e38>)]\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),))]\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),))]\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),)), Parameter(converter=)]\n+ _path_resolve_converter at 0xf6849e38>)]\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),)), Parameter(converter=)]\n+ _path_resolve_converter at 0xf6849e38>)]\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),))]\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),))]\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),)), Parameter(converter=)]\n+ _path_resolve_converter at 0xf6849e38>)]\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),)), Parameter(converter=)]\n+ _path_resolve_converter at 0xf6849e38>)]\n *\b**\b**\b**\b* N\bNu\bum\bmb\bbe\ber\br_\b?\b\uf0c1 *\b**\b**\b**\b*\n Annotated types for checking common int/float value constraints. All of these\n types will also work on sequence of numbers (e.g. tuple[int, int] or list\n [float]).\n cyclopts.types.PositiveFloat_\b\uf0c1\n A float that m\bmu\bus\bst\bt be >0.\n alias of Annotated[float, Parameter(validator=(Number(lt=None, lte=None,\n@@ -1570,15 +1570,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=)]\n+ 0xf6802938>)]\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": "@@ -1310,16 +1310,16 @@\n \"\": [1, 3, 4, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 42],\n \"0\": [1, 16, 17, 20, 21, 22, 24, 29, 38, 41],\n \"0287\": 15,\n \"0b\": 22,\n \"0o\": 22,\n \"0th\": 21,\n \"0x\": 22,\n- \"0xf68b98e8\": 1,\n- \"0xf68fde38\": 1,\n+ \"0xf6802938\": 1,\n+ \"0xf6849e38\": 1,\n \"1\": [1, 2, 15, 16, 17, 21, 22, 38, 42],\n \"10\": [1, 6, 10, 16, 21, 22, 38],\n \"100\": [1, 21, 28, 38],\n \"1024\": 21,\n \"1037\": 2,\n \"11\": 10,\n \"1102\": 2,\n"}]}]}]}]}]}