redlines
Compare text, and produce human-readable differences or deltas which look like track changes in Microsoft Word.
Decision gist · record as of 2026-08-14
Yes. Redlines is actively maintained, has no known vulnerabilities, installs with low friction, and solves a specific problem (text comparison with Word-like track changes) that is not trivial to implement from scratch. The MIT license poses no restrictions. Install it if you need to compare text and display or process the differences programmatically.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later; Python 3.8 and 3.9 support has been dropped.
- Low friction: pure Python wheel with four lightweight runtime dependencies (click, click-default-group, rich, rich-click).
- Repository is active with recent commits and no archived status.
License · maintenance · safety
MIT (permissive) — MIT license permits unrestricted use, modification, and distribution with minimal attribution requirements—suitable for commercial and proprietary projects.
last release 2025-11-24 (263 days) · last repo commit 2026-03-28 · 157 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 220,534 downloads/mo, #9,298 on PyPI
Alternatives
Verify before relying
pip install redlines
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"
)
print(test.output_markdown)- Performance characteristics and scalability limits for very large documents are not specified in the fact sheet.
- Whether optional dependencies (nupunkt, levenshtein) are automatically installed or must be explicitly requested.
- Exact behavior and output format differences between the four supported output modes (JSON, Markdown, HTML, rich).
What it is and what it does
Redlines is a text-comparison library that identifies and visualizes differences between two strings or documents. It produces output formatted like Microsoft Word's track changes, making edits immediately visible with strike-throughs for deletions and highlights for additions. The library supports multiple output formats—JSON (with structured change data and statistics), Markdown, HTML, and rich terminal display—allowing both human-readable visualization and programmatic access to change metadata.
The package provides a single `Redlines` class for comparison work, available both as a Python API and a command-line tool. It includes optional advanced processors: `NupunktProcessor` for intelligent sentence-level tokenization (useful for documents with abbreviations, URLs, and citations) and support for additional statistics via the levenshtein dependency. The library targets Python 3.10 and later and depends on click and rich for CLI and terminal rendering.
Use it for
- Visualize edits in legal or technical documents where precise change tracking is required.
- Generate structured JSON diffs for AI agents or automation systems to process and act on text modifications.
- Display side-by-side or inline text changes in web applications or documentation tools using HTML or Markdown output.
- Compare versions of configuration files, code comments, or documentation to audit what changed between revisions.
- Integrate with ChatGPT or other LLM workflows to show users exactly what text transformations an AI made.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Redlines is actively maintained, has no known vulnerabilities, installs with low friction, and solves a specific problem (text comparison with Word-like track changes) that is not trivial to implement from scratch. The MIT license poses no restrictions. Install it if you need to compare text and display or process the differences programmatically.
Install
redlines on PyPI
Before you install
Low friction: pure Python wheel with four lightweight runtime dependencies (click, click-default-group, rich, rich-click). Repository is active with recent commits and no archived status.
Requires Python 3.10 or later; Python 3.8 and 3.9 support has been dropped.
License in practice
MIT license permits unrestricted use, modification, and distribution with minimal attribution requirements—suitable for commercial and proprietary projects.
Quickstart
pip install redlines
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"
)
print(test.output_markdown)
Verify before relying
- Performance characteristics and scalability limits for very large documents are not specified in the fact sheet.
- Whether optional dependencies (nupunkt, levenshtein) are automatically installed or must be explicitly requested.
- Exact behavior and output format differences between the four supported output modes (JSON, Markdown, HTML, rich).
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesclick-default-groupclickrich-clickrich |
| Maintenance | Actively maintained 263 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 220,534 / month, #9,298 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14 |
Evidence: redlines-0.6.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “track changes like word”
- redlinesRedlines compares two strings or text documents and produces…
- python-docx-ml6Reads, creates, and updates Microsoft Word 2007+ (.docx) files from…
- fasttext-numpy2fasttext-numpy2 provides Python bindings for fastText, a library for…
Give your agent the search over MCP, or paste the wish link into any chat.
More Text Processing packages
A drop-in replacement for Python's standard `re` module that adds advanced regex features like nested sets, fuzzy matching, lookaround in conditionals, and full Unicode case-folding while maintaining backward compatibility.
pyparsing provides a library for building text parsers directly in Python code using composable grammar classes, handling quoted strings, whitespace variation, and embedded comments without regex or lex/yacc.
Install it if you need to parse text or define grammars programmatically.
fonttools manipulates font files in multiple formats (TrueType, OpenType, AFM, Type 1, Mac-specific) and includes TTX, a tool to convert fonts to and from XML text format.
Install it if you need to read, write, or manipulate fonts programmatically or via the TTX command-line tool.
Docutils converts plaintext documentation in reStructuredText format into multiple output formats including HTML, XML, and LaTeX using a modular processing system.
RapidFuzz provides fast fuzzy string matching using Levenshtein Distance and related metrics, implemented mostly in C++ with Python bindings for rapid similarity scoring and approximate string matching.
Install it if you need fuzzy string matching; it's a solid replacement for FuzzyWuzzy with better licensing and performance.
tinycss2 parses CSS strings into token and block objects, and generates CSS strings from those objects, following the CSS Syntax Level 3 specification without enforcing specific properties or values.
Install it if your project requires CSS tokenization or syntax manipulation.
See also json-diff · xmldiff · pyjson · rouge-score · recursive-diff · ydiff · markdown2 · rich-rst · rensa · titlecase