diffoscope
==========
.. image:: https://badge.fury.io/py/diffoscope.svg
:target: http://badge.fury.io/py/diffoscope
diffoscope will try to get to the bottom of what makes files or
directories different. It will recursively unpack archives of many kinds
and transform various binary formats into more human-readable form to
compare them. It can compare two tarballs, ISO images, or PDF just as
easily.
It can be scripted through error codes, and a report can be produced
with the detected differences. The report can be text or HTML.
When no type of report has been selected, diffoscope defaults
to write a text report on the standard output.
diffoscope was initially started by the "reproducible builds" Debian
project and now being developed as part of the (wider) `“Reproducible
Builds” initiative <https://reproducible-builds.org>`_. It is meant
to be able to quickly understand why two builds of the same package
produce different outputs. diffoscope was previously named debbindiff.
See the ``COMMAND-LINE EXAMPLES`` section further below to get you
started, as well as more detailed explanations of all the command-line
options. The same information is also available in
``/usr/share/doc/diffoscope/README.rst`` or similar.
.. the below hack gets rid of the python "usage" message in favour of the the
synopsis we manually defined in doc/$(PACKAGE).h2m.0
.SS positional arguments:
.\" end_of_description_header
Exit status
===========
Exit status is 0 if inputs are the same, 1 if different, 2 if trouble.
Command-line examples
=====================
To compare two files in-depth and produce an HTML report, run something like::
$ bin/diffoscope --html output.html build1.changes build2.changes
diffoscope will exit with 0 if there's no differences and 1 if there
are.
To get all possible options, run::
$ bin/diffoscope --help
If you have enough RAM, you can improve performance by running::
$ TMPDIR=/run/shm bin/diffoscope very-big-input-0/ very-big-input-1/
By default this allowed to use up half of RAM; for more add something like::
tmpfs /run/shm tmpfs size=80% 0 0
to your ``/etc/fstab``; see ``man mount`` for details.
External dependencies
=====================
diffoscope requires Python 3 and the following modules available on PyPI:
`libarchive-c <https://pypi.python.org/pypi/libarchive-c>`_,
`python-magic <https://pypi.python.org/pypi/python-magic>`_.
The various comparators rely on external commands being available. To
get a list of them, please run::
$ bin/diffoscope --list-tools
Contributors
============
Lunar, Reiner Herrmann, Chris Lamb, Mattia Rizzolo, Ximin Luo, Helmut Grohne,
Holger Levsen, Daniel Kahn Gillmor, Paul Gevers, Peter De Wachter, Yasushi
SHOJI, Clemens Lang, Ed Maste, Joachim Breitner, Mike McQuaid. Baptiste
Daroussin, Levente Polyak.
Contact
=======
The preferred way to report bugs about *diffoscope*, as well as suggest
fixes and requests for improvements is to submit reports to the issue
tracker at:
https://salsa.debian.org/reproducible-builds/diffoscope/issues
For more instructions, see ``CONTRIBUTING.rst`` in this directory.
Join the users and developers mailing-list:
<https://lists.reproducible-builds.org/listinfo/diffoscope>
diffoscope website is at <https://diffoscope.org/>
License
=======
diffoscope is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
diffoscope is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with diffoscope. If not, see <https://www.gnu.org/licenses/>.
See also
========
* `<https://diffoscope.org/>`
* `<https://wiki.debian.org/ReproducibleBuilds>`
Raw data
{
"_id": null,
"home_page": "https://diffoscope.org/",
"name": "diffoscope",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7",
"maintainer_email": null,
"keywords": null,
"author": "Diffoscope developers",
"author_email": "diffoscope@lists.reproducible-builds.org",
"download_url": "https://files.pythonhosted.org/packages/50/a2/2c4587936dd94b2dc810d9600e20902dbf6819e94c6978d25cd432d323bd/diffoscope-282.tar.gz",
"platform": null,
"description": "diffoscope\n==========\n\n.. image:: https://badge.fury.io/py/diffoscope.svg\n :target: http://badge.fury.io/py/diffoscope\n\ndiffoscope will try to get to the bottom of what makes files or\ndirectories different. It will recursively unpack archives of many kinds\nand transform various binary formats into more human-readable form to\ncompare them. It can compare two tarballs, ISO images, or PDF just as\neasily.\n\nIt can be scripted through error codes, and a report can be produced\nwith the detected differences. The report can be text or HTML.\nWhen no type of report has been selected, diffoscope defaults\nto write a text report on the standard output.\n\ndiffoscope was initially started by the \"reproducible builds\" Debian\nproject and now being developed as part of the (wider) `\u201cReproducible\nBuilds\u201d initiative <https://reproducible-builds.org>`_. It is meant\nto be able to quickly understand why two builds of the same package\nproduce different outputs. diffoscope was previously named debbindiff.\n\nSee the ``COMMAND-LINE EXAMPLES`` section further below to get you\nstarted, as well as more detailed explanations of all the command-line\noptions. The same information is also available in\n``/usr/share/doc/diffoscope/README.rst`` or similar.\n\n.. the below hack gets rid of the python \"usage\" message in favour of the the\n synopsis we manually defined in doc/$(PACKAGE).h2m.0\n .SS positional arguments:\n .\\\" end_of_description_header\n\nExit status\n===========\n\nExit status is 0 if inputs are the same, 1 if different, 2 if trouble.\n\nCommand-line examples\n=====================\n\nTo compare two files in-depth and produce an HTML report, run something like::\n\n $ bin/diffoscope --html output.html build1.changes build2.changes\n\ndiffoscope will exit with 0 if there's no differences and 1 if there\nare.\n\nTo get all possible options, run::\n\n $ bin/diffoscope --help\n\nIf you have enough RAM, you can improve performance by running::\n\n $ TMPDIR=/run/shm bin/diffoscope very-big-input-0/ very-big-input-1/\n\nBy default this allowed to use up half of RAM; for more add something like::\n\n tmpfs /run/shm tmpfs size=80% 0 0\n\nto your ``/etc/fstab``; see ``man mount`` for details.\n\nExternal dependencies\n=====================\n\ndiffoscope requires Python 3 and the following modules available on PyPI:\n`libarchive-c <https://pypi.python.org/pypi/libarchive-c>`_,\n`python-magic <https://pypi.python.org/pypi/python-magic>`_.\n\nThe various comparators rely on external commands being available. To\nget a list of them, please run::\n\n $ bin/diffoscope --list-tools\n\nContributors\n============\n\nLunar, Reiner Herrmann, Chris Lamb, Mattia Rizzolo, Ximin Luo, Helmut Grohne,\nHolger Levsen, Daniel Kahn Gillmor, Paul Gevers, Peter De Wachter, Yasushi\nSHOJI, Clemens Lang, Ed Maste, Joachim Breitner, Mike McQuaid. Baptiste\nDaroussin, Levente Polyak.\n\nContact\n=======\n\nThe preferred way to report bugs about *diffoscope*, as well as suggest\nfixes and requests for improvements is to submit reports to the issue\ntracker at:\n\n https://salsa.debian.org/reproducible-builds/diffoscope/issues\n\nFor more instructions, see ``CONTRIBUTING.rst`` in this directory.\n\nJoin the users and developers mailing-list:\n<https://lists.reproducible-builds.org/listinfo/diffoscope>\n\ndiffoscope website is at <https://diffoscope.org/>\n\nLicense\n=======\n\ndiffoscope is free software: you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\ndiffoscope is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\nYou should have received a copy of the GNU General Public License\nalong with diffoscope. If not, see <https://www.gnu.org/licenses/>.\n\nSee also\n========\n\n* `<https://diffoscope.org/>`\n* `<https://wiki.debian.org/ReproducibleBuilds>`\n",
"bugtrack_url": null,
"license": "GPL-3+",
"summary": "in-depth comparison of files, archives, and directories",
"version": "282",
"project_urls": {
"Homepage": "https://diffoscope.org/",
"Issues": "https://salsa.debian.org/reproducible-builds/diffoscope/-/issues",
"Merge requests": "https://salsa.debian.org/reproducible-builds/diffoscope/-/merge_requests"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "50a22c4587936dd94b2dc810d9600e20902dbf6819e94c6978d25cd432d323bd",
"md5": "d904ed0adc54ce46e4016701405bd13d",
"sha256": "04893051cbf68043aa5bc496a554f76e96b847375a74d7bc90ee150583c7488b"
},
"downloads": -1,
"filename": "diffoscope-282.tar.gz",
"has_sig": false,
"md5_digest": "d904ed0adc54ce46e4016701405bd13d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7",
"size": 3178787,
"upload_time": "2024-10-25T17:26:07",
"upload_time_iso_8601": "2024-10-25T17:26:07.958561Z",
"url": "https://files.pythonhosted.org/packages/50/a2/2c4587936dd94b2dc810d9600e20902dbf6819e94c6978d25cd432d323bd/diffoscope-282.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-10-25 17:26:07",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "diffoscope"
}