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.1

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.1
File Size Uploaded
jubarte_redlines-0.10.1.tar.gz 5.5 MB Details

Built distributions (wheels)

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

Total release size: 39.4 MB

Release files / jubarte_redlines-0.10.1.tar.gz

Download URL jubarte_redlines-0.10.1.tar.gz
Size 5.5 MB
Tags Source
SHA-256 checksum
How to use checksums
a99c32809f9682932d2794aceb0caaf86f3d50cf3f3f56b8cf965ed684f35e9f
BLAKE2b-256 checksum
How to use checksums
e193c880366e09557bfaba2b6bee5da6572ae3b055e68170f64e1f80de57dac1
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.1-cp310-abi3-manylinux_2_34_x86_64.whl

Download URL jubarte_redlines-0.10.1-cp310-abi3-manylinux_2_34_x86_64.whl
Size 8.7 MB
Tags CPython 3.10 Linux glibc 2.34+ x86-64 abi3
SHA-256 checksum
How to use checksums
33d8166165257467d507e956e54b40bc4613cbced525d983d940c84dd2dc82a8
BLAKE2b-256 checksum
How to use checksums
24a81dbe31a4dfc54cf598cda67899e2e753b801d90fe8ce0ac86eccccb7485a
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.1-cp310-abi3-manylinux_2_34_aarch64.whl

Download URL jubarte_redlines-0.10.1-cp310-abi3-manylinux_2_34_aarch64.whl
Size 8.4 MB
Tags CPython 3.10 Linux glibc 2.34+ ARM64 abi3
SHA-256 checksum
How to use checksums
6de50ffbe32b10cc34989648f4371b7740716c1148357c7e6bc37086ff2aa5f9
BLAKE2b-256 checksum
How to use checksums
d2c2e165a03a6e5a9a1c04b24ac48265267b38a10bc5330ea40ffd6109252e64
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.1-cp310-abi3-macosx_11_0_arm64.whl

Download URL jubarte_redlines-0.10.1-cp310-abi3-macosx_11_0_arm64.whl
Size 8.2 MB
Tags CPython 3.10 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
0deaaba160bc18d7f3ada33daab9617ca0e7b4f996fe73b830fc438f604f8a1c
BLAKE2b-256 checksum
How to use checksums
cb5d84149002f2588b163510bd69467113328b6cd2b671e995e646447f7a1b0e
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.1-cp310-abi3-macosx_10_12_x86_64.whl

Download URL jubarte_redlines-0.10.1-cp310-abi3-macosx_10_12_x86_64.whl
Size 8.5 MB
Tags CPython 3.10 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
a0082bf21f5256769337c986e303f8ae1bdba27a68112907582188506011ddf4
BLAKE2b-256 checksum
How to use checksums
012533f0b1571c11f93e7d7d34e2ad1b70ad6517128d281d31a21314ca2d248a
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

This release

0.10.1 This release

5 release files

0.10.0

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