Skip to main content

jubarte-redlines (Python)

Lossless DOCX redline engine: compare two Word documents into a tracked-changes document that opens cleanly in Microsoft Word; list, accept, or reject revisions; render DOCX to PDF.

Python bindings (PyO3 + maturin) for the Rust jubarte-redlines engine. Pure compute, no Word/LibreOffice dependency, no network, no temp files — documents go in and come out as bytes (whole DOCX/PDF packages), revision metadata comes back as parsed records (get_revisions → list[dict], get_revisions_json → JSON string), and the GIL is released while the engine runs.

Install

pip install jubarte-redlines
# or: uv add jubarte-redlines

Prebuilt wheels are abi3 (one wheel per platform, CPython ≥ 3.10).

Usage

from pathlib import Path
from jubarte_redlines import (
    compare_documents,
    get_revisions,
    accept_revisions,
    reject_revisions,
    docx_to_pdf,
)

original = Path("original.docx").read_bytes()
modified = Path("modified.docx").read_bytes()

# Word-mode compare → tracked-changes DOCX (w:ins / w:del)
redline = compare_documents(original, modified, author="Reviewer")
Path("redline.docx").write_bytes(redline)

# List revisions (same shape as the CLI `jubarte revisions --json`)
for rev in get_revisions(redline):
    print(rev["type"], rev["author"], repr(rev.get("text")))

# Accept / reject every tracked revision, package-wide
clean = accept_revisions(redline)   # ≙ modified content
base = reject_revisions(redline)    # ≙ original content

# Render to PDF (Word-style layout)
Path("redline.pdf").write_bytes(docx_to_pdf(redline))

compare_documents(original, modified, author="jubarte", date=None) stamps revisions with a fixed epoch date by default so output is deterministic; pass an ISO-8601 date to override. Errors raise jubarte_redlines.JubarteError.

Also available as

License

AGPL-3.0-only © Jandira Technologies, LLC

Metadata

Release files for jubarte-redlines 0.10.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jubarte-redlines 0.10.0
File Size Uploaded
jubarte_redlines-0.10.0.tar.gz 5.4 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for jubarte-redlines 0.10.0
File
jubarte_redlines-0.10.0-cp310-abi3-manylinux_2_34_x86_64.whl CPython 3.10 abi3 Linux glibc 2.34+ x86-64 Details
jubarte_redlines-0.10.0-cp310-abi3-manylinux_2_34_aarch64.whl CPython 3.10 abi3 Linux glibc 2.34+ ARM64 Details
jubarte_redlines-0.10.0-cp310-abi3-macosx_11_0_arm64.whl CPython 3.10 abi3 macOS 11.0+ ARM64 Details
jubarte_redlines-0.10.0-cp310-abi3-macosx_10_12_x86_64.whl CPython 3.10 abi3 macOS 10.12+ x86-64 Details

Total release size: 38.1 MB

Release files / jubarte_redlines-0.10.0.tar.gz

Download URL jubarte_redlines-0.10.0.tar.gz
Size 5.4 MB
Tags Source
SHA-256 checksum
How to use checksums
4f4a8da22a1c0ae8f59cb4deda8703325656c711b689de10033416134b38e3eb
BLAKE2b-256 checksum
How to use checksums
9199fd25db74d152340b5ff1d0e863173a7bad5b1bc7ae2d1d7731e9f4e13982
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / jubarte_redlines-0.10.0-cp310-abi3-manylinux_2_34_x86_64.whl

Download URL jubarte_redlines-0.10.0-cp310-abi3-manylinux_2_34_x86_64.whl
Size 8.4 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
03418572891a29a0ea40a571e59ad7632855b46f91b3f254d136672aef295ebc
BLAKE2b-256 checksum
How to use checksums
70a7ca0c7283c3324ef1a5e7431056a7cbb863bfdeff094297edf2fe63bbd91c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / jubarte_redlines-0.10.0-cp310-abi3-manylinux_2_34_aarch64.whl

Download URL jubarte_redlines-0.10.0-cp310-abi3-manylinux_2_34_aarch64.whl
Size 8.2 MB
Tags CPython 3.10 Linux glibc 2.34+ ARM64 abi3
SHA-256 checksum
How to use checksums
e6fa599e06cf4f658909fb37664a0ff9980daec5ec88d90a63f6b749312c4534
BLAKE2b-256 checksum
How to use checksums
a7f5df06bfea2015a9e5c27c0b9f9fa7ebaeef6eeea1f6257cdea3f8f0fb27ea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / jubarte_redlines-0.10.0-cp310-abi3-macosx_11_0_arm64.whl

Download URL jubarte_redlines-0.10.0-cp310-abi3-macosx_11_0_arm64.whl
Size 7.9 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
2867d65e7424919d312dbbacfb10a2162bb137fd2b222461f103c72b9a4aeaf2
BLAKE2b-256 checksum
How to use checksums
9e1e466ec6087512ce8a6bd002fa1e63ce369a17edfa8325a058f8054a1b8ed9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / jubarte_redlines-0.10.0-cp310-abi3-macosx_10_12_x86_64.whl

Download URL jubarte_redlines-0.10.0-cp310-abi3-macosx_10_12_x86_64.whl
Size 8.2 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
4999553632dfd4452c9d35832ab87148224f06c0857e51b3d10d0384fc19d49a
BLAKE2b-256 checksum
How to use checksums
3d983de18b3f4073338abac411bd3fa2dd7006564475b9abc96602308277a1f5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.12.0

8 release files

0.10.1

5 release files

This release

0.10.0 This release

5 release files

0.9.3

5 release files

0.9.2

5 release files

0.7.1

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page