patiencediff 0.2.19


pip install patiencediff

  Latest version

Released: Jun 15, 2026


Meta
Maintainer: Breezy Developers
Requires Python: >=3.9

Classifiers

Development Status
  • 6 - Mature

Programming Language
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13
  • Python :: 3.14
  • Python :: Implementation :: CPython
  • Python :: Implementation :: PyPy

Operating System
  • POSIX

This package contains the implementation of the patiencediff algorithm, as first described by Bram Cohen.

Like Python’s difflib, this module provides both a convenience unified_diff function for the generation of unified diffs of text files as well as a SequenceMatcher that can be used on arbitrary lists.

Patiencediff provides a good balance of performance, nice output for humans, and implementation simplicity.

The code in this package was extracted from the Bazaar code base.

The package comes with two implementations:

  • A Python implementation (_patiencediff_py.py); this implementation only requires a Python interpreter and is the more readable version of the two

  • A C implementation implementation (_patiencediff_c.c); this implementation is faster, but requires a C compiler and is less readable

Usage

To invoke patiencediff from the command-line:

python -m patiencediff file_a file_b

Or from Python:

>>> import patiencediff
>>> print(''.join(patiencediff.unified_diff(
...      ['a\n', 'b\n', 'b\n', 'c\n'],
...      ['a\n', 'c\n', 'b\n'])))
---
+++
@@ -1,4 +1,3 @@
 a
+c
 b
-b
-c

Wheel compatibility matrix

Platform CPython 3.9 CPython 3.10 CPython 3.11 CPython 3.12 CPython 3.13 CPython 3.14 CPython (additional flags: t) 3.14
macosx_10_15_universal2
macosx_10_15_x86_64
macosx_11_0_arm64
manylinux_2_28_aarch64
manylinux_2_28_x86_64
win32
win_amd64

Files in release

patiencediff-0.2.19-cp310-cp310-macosx_11_0_arm64.whl (259.7KiB)
patiencediff-0.2.19-cp310-cp310-manylinux_2_28_aarch64.whl (288.8KiB)
patiencediff-0.2.19-cp310-cp310-manylinux_2_28_x86_64.whl (294.3KiB)
patiencediff-0.2.19-cp310-cp310-win32.whl (149.6KiB)
patiencediff-0.2.19-cp310-cp310-win_amd64.whl (156.4KiB)
patiencediff-0.2.19-cp311-cp311-macosx_11_0_arm64.whl (259.4KiB)
patiencediff-0.2.19-cp311-cp311-manylinux_2_28_aarch64.whl (287.9KiB)
patiencediff-0.2.19-cp311-cp311-manylinux_2_28_x86_64.whl (293.5KiB)
patiencediff-0.2.19-cp311-cp311-win32.whl (149.3KiB)
patiencediff-0.2.19-cp311-cp311-win_amd64.whl (156.2KiB)
patiencediff-0.2.19-cp312-cp312-macosx_11_0_arm64.whl (253.2KiB)
patiencediff-0.2.19-cp312-cp312-manylinux_2_28_aarch64.whl (284.3KiB)
patiencediff-0.2.19-cp312-cp312-manylinux_2_28_x86_64.whl (290.0KiB)
patiencediff-0.2.19-cp312-cp312-win32.whl (147.1KiB)
patiencediff-0.2.19-cp312-cp312-win_amd64.whl (154.1KiB)
patiencediff-0.2.19-cp313-cp313-macosx_11_0_arm64.whl (253.0KiB)
patiencediff-0.2.19-cp313-cp313-manylinux_2_28_aarch64.whl (284.4KiB)
patiencediff-0.2.19-cp313-cp313-manylinux_2_28_x86_64.whl (289.7KiB)
patiencediff-0.2.19-cp313-cp313-win32.whl (147.2KiB)
patiencediff-0.2.19-cp313-cp313-win_amd64.whl (153.8KiB)
patiencediff-0.2.19-cp314-cp314-macosx_10_15_universal2.whl (492.8KiB)
patiencediff-0.2.19-cp314-cp314-macosx_10_15_x86_64.whl (259.9KiB)
patiencediff-0.2.19-cp314-cp314-macosx_11_0_arm64.whl (255.1KiB)
patiencediff-0.2.19-cp314-cp314-manylinux_2_28_aarch64.whl (284.9KiB)
patiencediff-0.2.19-cp314-cp314-manylinux_2_28_x86_64.whl (290.4KiB)
patiencediff-0.2.19-cp314-cp314-win32.whl (150.2KiB)
patiencediff-0.2.19-cp314-cp314-win_amd64.whl (157.9KiB)
patiencediff-0.2.19-cp314-cp314t-macosx_10_15_universal2.whl (491.6KiB)
patiencediff-0.2.19-cp314-cp314t-macosx_10_15_x86_64.whl (259.5KiB)
patiencediff-0.2.19-cp314-cp314t-macosx_11_0_arm64.whl (254.3KiB)
patiencediff-0.2.19-cp314-cp314t-manylinux_2_28_aarch64.whl (283.8KiB)
patiencediff-0.2.19-cp314-cp314t-manylinux_2_28_x86_64.whl (289.5KiB)
patiencediff-0.2.19-cp314-cp314t-win32.whl (149.3KiB)
patiencediff-0.2.19-cp314-cp314t-win_amd64.whl (156.7KiB)
patiencediff-0.2.19-cp39-cp39-macosx_11_0_arm64.whl (262.0KiB)
patiencediff-0.2.19-cp39-cp39-manylinux_2_28_aarch64.whl (291.5KiB)
patiencediff-0.2.19-cp39-cp39-manylinux_2_28_x86_64.whl (297.5KiB)
patiencediff-0.2.19-cp39-cp39-win32.whl (151.9KiB)
patiencediff-0.2.19-cp39-cp39-win_amd64.whl (159.0KiB)
patiencediff-0.2.19.tar.gz (24.0KiB)
Extras:
Dependencies: