Python implementation of the patiencediff algorithm.
Project description
This package contains the implementation of the patiencediff algorithm, as first described by Bram Cohen.
Like Python’s difflib, this module provides both a convience 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for patiencediff-0.2.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e956e45627317989b41d2ea719cb71fffcbc7ac07e9453687968ce9b047908fb |
|
MD5 | a285ed30fe0e710c47caf83fcd975e08 |
|
BLAKE2b-256 | 590841092b52348b2d2c563589876b858fee5dad11524a89f37e8b9e26af71ad |
Hashes for patiencediff-0.2.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c3eb9fd158110db664487c70e632ec0168e58770e3b7d01c79af648f221f6f76 |
|
MD5 | 6c0a8bd902b984e9197a62a2b314de3e |
|
BLAKE2b-256 | f7965f9c373bbe5cd5eaddace341eb905e9ca183df71ec7f8d75023a1ac698f9 |
Hashes for patiencediff-0.2.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90b7c42995e7f25fb86cf4dbc5a1e282ece3093323c32dd5c885158fccb25ab5 |
|
MD5 | f2b7637422fb31cbfdb54db8a0a61ad6 |
|
BLAKE2b-256 | e646ddac88afea2ac5a46570d1fef06ee2d4e0d4a0033c6e66a0a707e4465f13 |
Hashes for patiencediff-0.2.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 433c188d2229f132ba2a29a1940f3cd2899269307cd7a76d959a86a01d360b20 |
|
MD5 | 05acaf61bd10a85e9447a3b57c0be9fc |
|
BLAKE2b-256 | 1e51f2523234c2ec92ecfc7eb248b24d594720771a5a4391984a434399270549 |
Hashes for patiencediff-0.2.0-cp38-cp38-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4953de204b3dc0b4abe8b3847f05d7f6a1a5006b5f9f95581335342d6a05e7b7 |
|
MD5 | f20aa07c1fb6abaeddf00ea1efe060f4 |
|
BLAKE2b-256 | 0edbe7b0077f40d464e190cae5149c6e9ea27ea9b81938dccdfa8f9a609c085b |
Hashes for patiencediff-0.2.0-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5e102c729d73b493ffbdd85c9aabc58922a364594aa5a5d6f6d73884ee30f6d |
|
MD5 | bfab3fafb97adcf70ab6fe756532dd13 |
|
BLAKE2b-256 | be31daf2922fc73c6ebf44227cc61ad8c7a96e03055ffb50f88dcd628d82f757 |
Hashes for patiencediff-0.2.0-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e127ba98c1441a9901891193ebf6b668764273507f3e067f89c439c0d5595231 |
|
MD5 | 72449104d1267e1063343eb5e43d796a |
|
BLAKE2b-256 | 2dbb748ae26a5d44cccae78c4ba0320c0a8562f1c45a6f83a23252852d377e16 |
Hashes for patiencediff-0.2.0-cp38-cp38-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dae80d6a7520cf4a6ee0e2b22ddc6dc2e37fff98d745291256ee06b5ab00a99a |
|
MD5 | 5c5e7fe168499e5ed30a912382c88d76 |
|
BLAKE2b-256 | 8d84c9ff1ff0f9159e2f3d480a2646e9650225f4707c655572930cb1131b2665 |
Hashes for patiencediff-0.2.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 18e62850e575647cb9520edc1bf08f3ffbbea78c6be7afdb97dbcadb0bed5883 |
|
MD5 | a81252a4283ff8ea9081bd4a0e066ea6 |
|
BLAKE2b-256 | 9b454e8ed715f0e80843b9e2ebc94e88fd015119fbd77397de8b52c707d68143 |
Hashes for patiencediff-0.2.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dcec655f59c86316d2d4238b8aa2adfa5ec948d84fd4d8b7b05d5fae2f17238c |
|
MD5 | e964067f9564309a2bb519774b45af7c |
|
BLAKE2b-256 | be4c483555fb534a4754c8a0730eff26ef57f4aec97bced573be4f37d6c29c89 |
Hashes for patiencediff-0.2.0-cp37-cp37m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5841ac6b297203abfe91c10c97a90304a011475cf1fb9d457c76d7812c2b478 |
|
MD5 | 442db42c853459bd1d128b62065c282a |
|
BLAKE2b-256 | 19924ca5e18c5e146dd1d97e23ad5f1e5da286b8d7e320ca9a31eb6abc928259 |
Hashes for patiencediff-0.2.0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e64ff33a1288806c62a0a70a54e0833111480d2e738f6091b5974a61d5e09a66 |
|
MD5 | 202bd53103c40c7f02c94c47efb5938f |
|
BLAKE2b-256 | 74e8e707bdccdd263268dc5a44cb3c204ff296227eeecc40e77970a41aac851e |
Hashes for patiencediff-0.2.0-cp37-cp37m-macosx_10_15_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d8e65d65f32fb74cecc1035eb8918847eb786dcee41202a9f63b5cc236f51c74 |
|
MD5 | af41e43dcce9baf57669225b8eb54c24 |
|
BLAKE2b-256 | b1e407eb449ad2c90ba25cf3a9fedf8f3366fc1e7603dc178d1dff98a585ff67 |
Hashes for patiencediff-0.2.0-cp37-cp37m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6d3ffb100ec29dee81e4d9de962e9154b28532adf6cd776807d1c536adc0d99 |
|
MD5 | 6c00b8d4d774ccd499f183ebaa131ee7 |
|
BLAKE2b-256 | 43939132d4d923ff6580ad7f8c9aca79f027ef4d6000d0bd746bf2564022f714 |
Hashes for patiencediff-0.2.0-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f6727ff16cedefb4ca6a5969ee6f6cd55fe7d70ec249ce5df07f011cd52b7ec |
|
MD5 | 3d16630bf0de32b017210b887e251621 |
|
BLAKE2b-256 | 9a087c4236476e2f62093a1ab7108460b310eedbd136ee4d91736c9d23feb835 |
Hashes for patiencediff-0.2.0-cp36-cp36m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6bbb67a32103653cc74c9b7e3614df46c3b29bbf19e1c84140f7307f2ac956a8 |
|
MD5 | d60de1bc45bed583d56ea9f100195ef4 |
|
BLAKE2b-256 | b1fd79a893c70d674672bd0b98bd343743c4473c6754286db5803c5995e3cd25 |
Hashes for patiencediff-0.2.0-cp36-cp36m-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3bc778639b5af3cfd89f28a8ce067206e427e08e249d7c4263d8d470f4551a93 |
|
MD5 | 4c1e79cd61c62f440fb41674c6832d4d |
|
BLAKE2b-256 | df682b68938514da9d58f7bb651f0fa7bcdf4c5733bf11b089fc41919ff993a7 |
Hashes for patiencediff-0.2.0-cp36-cp36m-manylinux2010_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b2d7abdf72d720237b51c8de2773bca1f317a7b156f2deedc72d42de8a83ce7e |
|
MD5 | d98c137e0e91c3ae320991c5df8253cc |
|
BLAKE2b-256 | b9c607e70815319967c16ca6e1a6df992d5608d778428db8391c337775345c4f |
Hashes for patiencediff-0.2.0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d06ff186521423d33b84246843d3e43086d70751ee0630b3c22fd092ca27cf3d |
|
MD5 | 358e9deed24f83becdb3205f09dee4b8 |
|
BLAKE2b-256 | 511578e51fca4b80c9883cba171de156dd459a4fdc7e77ad528aa6b98294d147 |
Hashes for patiencediff-0.2.0-cp36-cp36m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66424c441b6391dee1febce59613a15b07405cf1d361980769244fe8ca8d1e65 |
|
MD5 | 8b2e224368c24cf700a137bb4c9ddf59 |
|
BLAKE2b-256 | fea6bb490caafde3db82f68f572fb65ce9faedde11f5b23566203080a2a35589 |
Hashes for patiencediff-0.2.0-cp35-cp35m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f6c162f1b369196ec5afafbc6dc58cba21f28ee2d4ca47332630e386d653e7d |
|
MD5 | dad39783bb52b96db3672b1cf228c09d |
|
BLAKE2b-256 | 255d0a77a7b72196448db5c48a89d3250a2a12f10fcbdfd7187a6b950dea84da |
Hashes for patiencediff-0.2.0-cp35-cp35m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c2b7c83d1443cd2b6c4165f32250e68078fbca24d57f9a99d69b95e524f68040 |
|
MD5 | 5037ec003005608b988255b18b147586 |
|
BLAKE2b-256 | 7ecb3633e85b4d889c7a6ab227be440e6b818df2e0296bcf0fa33d05d6efe612 |
Hashes for patiencediff-0.2.0-cp35-cp35m-macosx_10_14_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bbcfa0440f2460d31cad87535829e961713b941b18b733c668008f3b64864ff |
|
MD5 | 72db86007465a73859f31bf04197c839 |
|
BLAKE2b-256 | 071e4920612eb820db1fe1d659b53a341314dd8aa4b4ca5d66688372e51e3ffb |
Hashes for patiencediff-0.2.0-cp27-cp27m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69a7883fc2113950208d5319a5a7068b962522d992f0903b2b155d17d1ba784e |
|
MD5 | 4f35050f76548e07178fa4500c25a982 |
|
BLAKE2b-256 | 03dea3a80c8d726206e2a19e16101941b547a91af6ceeb8c5ff872c2ea3c674f |
Hashes for patiencediff-0.2.0-cp27-cp27m-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b88c1fb63531d8c1a269f996cd5fbb4da1e1394142bcca291b3839279bc9dbb |
|
MD5 | 644015224827a772195af2e26ff9101a |
|
BLAKE2b-256 | 716f685e57a9bc4073715ff382580a1e327dcab4ca33ccc8850bd2da9c3c83c9 |