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 — every function takes and returns bytes, 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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jubarte_redlines-0.7.1.tar.gz (4.2 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

jubarte_redlines-0.7.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

jubarte_redlines-0.7.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (6.5 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

jubarte_redlines-0.7.1-cp310-abi3-macosx_11_0_arm64.whl (6.5 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

jubarte_redlines-0.7.1-cp310-abi3-macosx_10_12_x86_64.whl (6.7 MB view details)

Uploaded CPython 3.10+macOS 10.12+ x86-64

File details

Details for the file jubarte_redlines-0.7.1.tar.gz.

File metadata

  • Download URL: jubarte_redlines-0.7.1.tar.gz
  • Upload date:
  • Size: 4.2 MB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for jubarte_redlines-0.7.1.tar.gz
Algorithm Hash digest
SHA256 23cea5c7961981703a35edd5248e2aa0de847b3ffb60fa63abc97757465ebb7a
MD5 9f9f34c89a34354686717b5a5a340184
BLAKE2b-256 e28bb11ed0bd6d40d90b3d1180749f99c05f4122829d2d882d6456600a993c42

See more details on using hashes here.

File details

Details for the file jubarte_redlines-0.7.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

  • Download URL: jubarte_redlines-0.7.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ x86-64
  • Uploaded using 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}

File hashes

Hashes for jubarte_redlines-0.7.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a45e0449d98daf9526a50fdcb8f6f2c945164a3270c8f8cf82f33b36360b9cfd
MD5 4e3ab19c7a6b865ad192271307ebe0f1
BLAKE2b-256 1eaa3b535400ae7bbf80f650b14627748354ae630c4a4f63b61f65db759d4070

See more details on using hashes here.

File details

Details for the file jubarte_redlines-0.7.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

  • Download URL: jubarte_redlines-0.7.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: CPython 3.10+, manylinux: glibc 2.17+ ARM64
  • Uploaded using 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}

File hashes

Hashes for jubarte_redlines-0.7.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e06aea397ac984dbda056b8aaab0f1fda9628272f7a2b3c74e5d8c496e771ef9
MD5 ddea67cb2388b67f67e90dfd8fcb2311
BLAKE2b-256 4e23d5bdddfd5dd968a98c9c80f511b8ca33c4671ea6da71c5973be296238819

See more details on using hashes here.

File details

Details for the file jubarte_redlines-0.7.1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: jubarte_redlines-0.7.1-cp310-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 6.5 MB
  • Tags: CPython 3.10+, macOS 11.0+ ARM64
  • Uploaded using 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}

File hashes

Hashes for jubarte_redlines-0.7.1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5be04ccca1b2d0fa99e2d4d2fff7d170184c5552e8a0caace013bff008fcbb5
MD5 c33887c18b625d3e07efe5c7903d5fe6
BLAKE2b-256 0ca4c77ab87777168211d9adba291f0d73194348720621cb5e647353522716ce

See more details on using hashes here.

File details

Details for the file jubarte_redlines-0.7.1-cp310-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: jubarte_redlines-0.7.1-cp310-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 6.7 MB
  • Tags: CPython 3.10+, macOS 10.12+ x86-64
  • Uploaded using 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}

File hashes

Hashes for jubarte_redlines-0.7.1-cp310-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2c4a68963e0eddb11279298784d05d9b5c4658f600a6d9d15c51d421672a10df
MD5 c5dc33a2222d6356f9938eb1b1c6fd3b
BLAKE2b-256 91da9606a455ed80302a993848fa9c14fb3be1f8ab8def8c82879c6d858150bf

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.7.1 This release

5 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