Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

ProDocuX Kernel

Deterministic document kernel for ProDocuX. Runtime does not call any LLM API (semantic drafting stays on the solver side).

License: Apache-2.0. See LICENSE.

Source version in this branch: 0.3.0rc9.

This source version is an unpublished release candidate.

Latest verified PyPI release: 0.3.0rc8, published from tag v0.3.0rc8 at commit 89ac652400608e5d4fee4af976e64a295cfe5119.

python -m pip install "prodocux==0.3.0rc8"

0.3.0rc9 is not yet available from PyPI. Until publication succeeds, the verified public install command intentionally remains pinned to rc8.

The current release replaces the mandatory AGPL PDF dependency with a permissive default writer and keeps PyMuPDF behind an explicit optional extra.

This Kernel-only release fixes deterministic PDF wrapping, explicit line breaks, pagination, and mixed Latin/CJK font selection without changing frozen contracts. See rc5 publication record.

Documents

Install

git clone https://github.com/prodocux/prodocux.git
cd prodocux
.\runtime\install.ps1 -Fresh
.\runtime\verify.ps1

Or:

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -e ".[dev]"
.\.venv\Scripts\python.exe -m pytest -q

Install the current deterministic extract/render prerelease using the verified PyPI command at the top of this README.

The older published wheel prodocux PyPI 0.3.0rc1 predates the additive extract/render freeze and must not be overwritten. Frozen compatibility v3 still pins implementation commit 53c4784d4b2bae4437252a287193e897973e8474. See docs/RELEASE.md.

See runtime/INSTALL.md for environment variables and private-sidecar notes.

Release maintainers can verify a wheel from an isolated temporary directory:

python scripts/verify_clean_install.py

See docs/RELEASE.md for the PyPI Trusted Publisher and GitHub approval-boundary workflow.

Test

.\.venv\Scripts\python.exe -m pytest -q

Start API

.\.venv\Scripts\python.exe run_kernel.py   # http://localhost:8900/v1

Available capabilities

Component Endpoint Status
Structure invariants (L0) POST /v1/validate-structure shipped
Scorer (L0–L3) POST /v1/score shipped
Review capture POST /v1/review/start, /commit shipped
Version GET /v1/version shipped
Legacy semantic extract/learn and path-shaped render POST /v1/extract, /learn, /render stub or 501
Deterministic block extraction POST /v1/intake/extract-blocks shipped
Bounded DOCX continuation POST /v1/intake/extract-blocks/continue rc9 source candidate
Deterministic artifact render POST /v1/render/artifact shipped
Render capabilities/artifact retrieval GET /v1/render/capabilities, /artifacts/{artifact_id} shipped
Deterministic PDF page intake POST /v1/intake/extract-pages shipped
JPEG/PNG technical profile POST /v1/intake/profile-image shipped
Typed evidence verification POST /v1/verify/evidence-bundle shipped
Normalized structured diff POST /v1/compare/normalized-profiles shipped

The PDF intake endpoint accepts only a bounded base64 payload and a plain .pdf basename. It returns source SHA-256, bounded page text, truncation disclosure, and an explicit ocr_required status without persisting the source document or calling an LLM.

The additive DOCX continuation endpoint returns at most 200 addressable blocks per response. Its range descriptor binds the exact source SHA-256 and prodocux_docx_block_projection_v1; a changed source is rejected rather than silently resumed. Range, cumulative block/row/UTF-8-byte counts, coverage, known-total, omission, warning and OCR-disposition fields let callers distinguish complete, partial-known and partial-unknown projections. DOCX page counts are null because this parser does not perform layout pagination. The legacy five-format extraction endpoint remains unchanged. This capability is included in the rc9 source candidate but is not part of the published rc8 package. The descriptor is not authenticated: consumers must require each response range.start to equal the preceding range.end_exclusive. The bound applies to returned content, not parse work; later ranges currently reparse from the start, so complete traversal can approach O(n²). Header, footer, footnote, endnote and comment stories are outside the parser scope and are disclosed as omissions when present. Large-PDF continuation is not implemented by CR-001.

GET /v1/intake/capabilities is the authoritative machine-readable source for available intake operations and their raw-byte/page ceilings. Clients should discover these limits instead of copying constants into adapters.

The evidence verifier accepts already-extracted typed evidence and declarative presence, equality, numeric-range, and date/version checks. It returns stable pass/fail/review reasons without interpreting product claims or regulations. Image OCR is available only through an explicitly injected bounded backend; otherwise the profile reports ocr_unavailable. Normalized diff reports source-linked structural/value changes but leaves business impact to the host.

Library hosts may inject an opaque artifact:// resolver. ProDocuX rejects network/local-path identities at this boundary and verifies declared media type, size, and SHA-256 before returning bytes; storage authorization and tenant isolation remain host responsibilities.

Flagship pipeline

Deterministic template extract → field mapping → precise write → structure repair → L0 gate. Content drafts are supplied by the solver as drafts.json.

See examples/pif_tw/ for curated synthetic fixtures (no customer documents).

Skills (first-party)

Skill Module
Structure health skills.structure_health
Number audit skills.number_audit
Version diff skills.version_diff
Clause diff skills.clause_diff
Doc assemble skills.doc_assemble
PIF audit (TW) skills.pif_audit
PDF extract skills.pdf_extract

All first-party skills are deterministic. CLI messages support en and zh-TW.

Release files for prodocux 0.3.0rc9

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

Source distribution (sdist)

Source distribution for prodocux 0.3.0rc9
File Size Uploaded
prodocux-0.3.0rc9.tar.gz 176.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for prodocux 0.3.0rc9
File Interpreter ABI Platform
prodocux-0.3.0rc9-py3-none-any.whl Python 3 none any Details

Total release size: 346.8 kB

Release files / prodocux-0.3.0rc9.tar.gz

Download URL prodocux-0.3.0rc9.tar.gz
Size 176.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5a7097321dc050e39d68e3814131846a634ecc94c5c077e9623f4ef74def998f
BLAKE2b-256 checksum
How to use checksums
1970af53e1ab2919a146ae6992cc4264167348e89823816b92450476ac707d00
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log

Release files / prodocux-0.3.0rc9-py3-none-any.whl

Download URL prodocux-0.3.0rc9-py3-none-any.whl
Size 169.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f72b4727cd3b61b3c483258b09449fbfc33d57fab28d3e5c51cf1393dad7437f
BLAKE2b-256 checksum
How to use checksums
a74b7ce44b96054003a5bed6548df0c8fe6933473def90f21b9b9da9be3af9c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 25, 2026.

Transparency log
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