Metadata-Version: 2.4
Name: compile-pdf-soft-proof
Version: 0.1.0
Summary: CompilePDF soft-proof producer — ICC/deltaE soft-proofing for PDFs.
Project-URL: Homepage, https://compilepdf.com
Project-URL: Repository, https://github.com/printwithsynergy/compile-pdf-soft-proof
Project-URL: Issues, https://github.com/printwithsynergy/compile-pdf-soft-proof/issues
Author-email: Print With Synergy <iam@quincy.codes>
License: AGPL-3.0-or-later
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Multimedia :: Graphics
Classifier: Topic :: Software Development :: Libraries
Requires-Python: >=3.12
Requires-Dist: codex-pdf<2.0,>=1.21.1
Requires-Dist: compile-pdf-core<1.0,>=0.1.0
Requires-Dist: fastapi>=0.110
Requires-Dist: pikepdf>=8.13
Requires-Dist: pillow>=10.2
Requires-Dist: pydantic>=2.6
Requires-Dist: structlog>=24.1
Provides-Extra: dev
Requires-Dist: httpx>=0.27; extra == 'dev'
Requires-Dist: mypy>=1.9; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest-cov>=4.1; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Requires-Dist: ruff>=0.4; extra == 'dev'
Description-Content-Type: text/markdown

# compile-pdf-soft-proof

CompilePDF **soft-proof** producer — simulates an input PDF under a destination
ICC profile and returns a base64-encoded simulated PDF plus a per-pixel ΔE
summary that an artwork-pdf editor host paints over its canvas.

The current engine is a deterministic passthrough (the real LCMS-based simulator
lands once codex-pdf publishes its colour-management surface); the wire contract
under `POST /v1/soft-proof/apply` is final. It carries a content-addressed cache
key — same input PDF + same profile pair + same options → cache hit.

Part of the CompilePDF producer family; each producer lives in its own repo and
PyPI package. See [compile-pdf](https://github.com/printwithsynergy/compile-pdf)
for the orchestrator that mounts them.

## Install

```bash
uv pip install compile-pdf-soft-proof
```

## HTTP surface

Mounted under `/v1/soft-proof` by the host app:

- `POST /v1/soft-proof/apply` — `{ input_pdf_b64, source_icc_b64,
  destination_icc_b64, options? }` → the simulated PDF, its sha256, the cache
  key, and a ΔE summary (`max` / `avg` / `p95`). Deterministic.

## License

AGPL-3.0-or-later. Copyright © 2024–2026 Print with Synergy.
