Translation Date: 2025-10-29 Original English File: README.md This is a translation. For the most current version, please refer to the English file.
Data da Tradução: 29-10-2025 Arquivo Original em Inglês: README.md Esta é uma tradução. Para a versão mais atualizada, por favor, consulte o arquivo em inglês.
Redlines compara duas strings/textos e produz uma saída estruturada mostrando suas diferenças. As alterações são representadas com tachados e destaques, similar ao controle de alterações do Microsoft Word. A saída inclui informações detalhadas sobre mudanças, posições e estatísticas para uso programático.
Suporta múltiplos formatos de saída: JSON (padrão, com dados estruturados de alterações e estatísticas), Markdown, HTML e rich (exibição em terminal).
# Instalar
pip install redlines
# CLI: Comparar dois textos (saída em JSON por padrão)
redlines "The quick brown fox jumps over the lazy dog." "The quick brown fox walks past the lazy dog."
# Python: Comparar e obter markdown
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)
# Saída: The quick brown fox <del>jumps over </del><ins>walks past </ins>the lazy dog.Suportado: Python 3.10 - 3.14 (suporte para Python 3.8 e 3.9 descontinuado)
Dependências opcionais:
pip install redlines[nupunkt]para detecção avançada de limites de sentenças (Python 3.11+, manipula abreviações, citações, URLs)pip install redlines[levenshtein]para estatísticas adicionais
A biblioteca contém uma classe: Redlines, que é usada para comparar texto.
Comparação básica:
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."
)Múltiplas comparações com uma fonte:
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."
)Saída JSON com dados estruturados:
from redlines import Redlines
test = Redlines(
"The quick brown fox jumps over the lazy dog.",
"The quick brown fox walks past the lazy dog."
)
# Obter JSON com mudanças, posições e estatísticas
print(test.output_json(pretty=True))Uso básico (saída em JSON por padrão):
redlines "old text" "new text"
redlines file1.txt file2.txt --prettyFormatos de saída:
redlines text "source" "test" # Exibição rich em terminal
redlines markdown file1.txt file2.txt # Saída em Markdown
redlines stats old.txt new.txt # Apenas estatísticasExecute redlines --help ou redlines guide para Guia de Interação para Agentes. Veja também: redlines-textual.
Use NupunktProcessor para tokenização em nível de sentença com detecção inteligente de limites:
from redlines import Redlines
from redlines.processor import NupunktProcessor
processor = NupunktProcessor()
test = Redlines("Dr. Smith said hello.", "Dr. Smith said hi.", processor=processor)Use NupunktProcessor para: Documentos legais/técnicos com abreviações, URLs, citações, decimais Use WholeDocumentProcessor (padrão) para: Documentos simples, tarefas críticas em velocidade (5-6x mais rápido), granularidade em nível de parágrafo
Veja comparação de demonstração for benchmarks.
🤖 Usando com agentes de codificação de IA? Veja o Guia de Interação para Agentes para esquemas JSON, padrões de automação, tratamento de erros e Exemplos executáveis.
Documentação Completa: https://houfu.github.io/redlines
Exemplos de Casos de Uso:
- Visualizar e marcar mudanças em legislação: PLUS Explorer
- Visualizar mudanças após o ChatGPT transformar um texto: ChatGPT Prompt Engineering for DevelopersLição 6
Licença MIT
