Redlines
produces a Markdown text showing the differences between two strings/text. The changes are represented with
strike-throughs and underlines, which looks similar to Microsoft Word's track changes. This method of showing changes is
more familiar to lawyers and is more compact for long series of characters.
Redlines uses SequenceMatcher to find differences between words used.
Given an original string:
The quick brown fox jumps over the lazy dog.
And the string to be tested with:
The quick brown fox walks past the lazy dog.
The library gives a result of:
The quick brown fox <del>jumps over </del><ins>walks past </ins>the lazy dog.
Which is rendered like this:
The quick brown fox
jumps overwalks past the lazy dog.
pip install redlines
The library contains one class: Redlines
, which is used to compare text.
from redlines import Redlines
test = Redlines(
"The quick brown fox jumps over the lazy dog.",
"The quick brown fox walks past the lazy dog.", markdown_style="none",
)
assert (
test.output_markdown
== "The quick brown fox <del>jumps over </del><ins>walks past </ins>the lazy dog."
)
Alternatively, you can create Redline with the text to be tested, and compare several times to see the results.
from redlines import Redlines
test = Redlines("The quick brown fox jumps over the lazy dog.", markdown_style="none")
assert (
test.compare("The quick brown fox walks past the lazy dog.")
== "The quick brown fox <del>jumps over </del><ins>walks past </ins>the lazy dog."
)
assert (
test.compare("The quick brown fox jumps over the dog.")
== "The quick brown fox jumps over the <del>lazy </del>dog."
)
Redlines also features a simple command line tool redlines
to visualise the differences in text in the terminal.
Usage: redlines text [OPTIONS] SOURCE TEST
Compares the strings SOURCE and TEST and produce a redline in the terminal.
Read the available Documentation.
- View and mark changes in legislation: PLUS Explorer
- Visualise changes after ChatGPT transforms a text: ChatGPT Prompt Engineering for Developers Lesson 6
MIT License