Skip to main content

diffoscope

https://badge.fury.io/py/diffoscope.svg

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. 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.

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, 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>

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

diffoscope-329.tar.gz (3.2 MB view details)

Uploaded Source

File details

Details for the file diffoscope-329.tar.gz.

File metadata

  • Download URL: diffoscope-329.tar.gz
  • Upload date:
  • Size: 3.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.15

File hashes

Hashes for diffoscope-329.tar.gz
Algorithm Hash digest
SHA256 940ee30d8d98231f4d4855e36caf96e9eec9ec3d3cb359b744687b369b2b54d9
MD5 2bfe34b75ba04c22d50d4290589a7f11
BLAKE2b-256 f5e1c8e6656893ca111fba107e03195930195e0105fa67b99919f0529b9fc520

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

329 This release

1 file

328

1 file

327

1 file

326

1 file

325

1 file

324

1 file

323

1 file

322

1 file

321

1 file

320

1 file

319

1 file

318

1 file

317

1 file

316

1 file

315

1 file

314

1 file

313

1 file

312

1 file

311

1 file

306

1 file

305

1 file

304

1 file

303

1 file

302

1 file

301

1 file

300

1 file

299

1 file

298

1 file

297

1 file

296

1 file

295

1 file

294

1 file

293

1 file

292

1 file

291

1 file

290

1 file

289

1 file

288

1 file

287

1 file

286

1 file

285

1 file

284

1 file

283

1 file

282

1 file

281

1 file

280

1 file

277

1 file

276

1 file

275

1 file

274

1 file

273

1 file

272

1 file

271

1 file

270

1 file

269

1 file

268

1 file

267

1 file

266

1 file

265

1 file

264

1 file

263

1 file

262

1 file

261

1 file

260

1 file

259

1 file

258

1 file

257

1 file

256

1 file

255

1 file

254

1 file

253

1 file

252

1 file

251

1 file

250

1 file

249

1 file

248

1 file

247

1 file

246

1 file

245

1 file

244

1 file

243

1 file

242

1 file

241

1 file

240

1 file

239

1 file

238

1 file

237

1 file

236

1 file

235

1 file

234

1 file

233

1 file

232

1 file

231

1 file

230

1 file

229

1 file

228

1 file

227

1 file

226

1 file

224

1 file

223

1 file

222

1 file

221

1 file

220

1 file

219

1 file

218

1 file

217

1 file

216

1 file

215

1 file

214

1 file

213

1 file

212

1 file

211

1 file

210

1 file

209

1 file

208

1 file

207

1 file

206

1 file

205

1 file

204

1 file

203

1 file

202

1 file

201

1 file

200

1 file

199

1 file

198

1 file

197

1 file

196

1 file

195

1 file

194

1 file

193

1 file

192

1 file

191

1 file

190

1 file

189

1 file

188

1 file

187

1 file

186

1 file

185

1 file

184

1 file

183

1 file

182

1 file

181

1 file

180

1 file

179

1 file

178

1 file

177

1 file

176

1 file

175

1 file

174

1 file

173

1 file

172

1 file

171

1 file

170

1 file

169

1 file

168

1 file

167

1 file

166

1 file

165

1 file

164

1 file

163

1 file

162

1 file

161

1 file

160

1 file

159

1 file

158

1 file

157

1 file

156

1 file

155

1 file

154

1 file

153

1 file

152

1 file

151

1 file

150

1 file

149

1 file

148

1 file

147

1 file

146

1 file

145

1 file

144

1 file

143

1 file

142

1 file

141

1 file

140

1 file

139

1 file

138

1 file

137

1 file

136

1 file

135

1 file

134

1 file

133

1 file

132

1 file

131

1 file

130

1 file

129

1 file

128

1 file

127

1 file

126

1 file

125

1 file

124

1 file

123

1 file

122

1 file

121

1 file

120

1 file

119

1 file

118

1 file

117

1 file

116

1 file

115

1 file

114

1 file

113

1 file

112

1 file

111

1 file

110

1 file

108

1 file

107

1 file

106

1 file

105

1 file

104

1 file

103

1 file

102

1 file

101

1 file

100

1 file

99

1 file

98

1 file

97

1 file

96

1 file

95

1 file

94

1 file

93

1 file

92

1 file

91

1 file

90

1 file

89

1 file

88

1 file

87

1 file

86

1 file

85

1 file

84

1 file

83

1 file

82

1 file

81

1 file

80

1 file

79

1 file

78

1 file

77

1 file

76

1 file

75

1 file

74

1 file

73

1 file

72

1 file

71

1 file

70

1 file

69

1 file

68

1 file

67

1 file

66

1 file

65

1 file

64

1 file

63

1 file

62

1 file

61

1 file

60

1 file

59

1 file

56

1 file

55

1 file

54

1 file

52

1 file

51

1 file

49

1 file

48

1 file

47

1 file

46

1 file

45

1 file

44

1 file

43

1 file

42

1 file

41

1 file

40

1 file

39

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page