Metadata-Version: 2.4
Name: compile-pdf-stream
Version: 0.1.0
Summary: CompilePDF stream meta-producer — a single streaming /apply that dispatches to the rewrite/marks/impose/trap/soft_proof producers.
Project-URL: Homepage, https://compilepdf.com
Project-URL: Repository, https://github.com/printwithsynergy/compile-pdf-stream
Project-URL: Issues, https://github.com/printwithsynergy/compile-pdf-stream/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: click>=8.1
Requires-Dist: codex-pdf<2.0,>=1.21.1
Requires-Dist: compile-pdf-core<1.0,>=0.1.0
Requires-Dist: compile-pdf-impose<1.0,>=0.1.0
Requires-Dist: compile-pdf-marks<1.0,>=0.1.0
Requires-Dist: compile-pdf-rewrite<1.0,>=0.1.0
Requires-Dist: compile-pdf-soft-proof<1.0,>=0.1.1
Requires-Dist: compile-pdf-trap<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-stream

CompilePDF **stream** meta-producer — a single streaming `/apply` that
dispatches to the underlying producers (`rewrite`, `marks`, `impose`, `trap`,
`soft_proof`) without the caller flipping `COMPILE_PRODUCER`.

Like `compile-pdf-cjd`, stream is a meta-producer: it depends on each producer
satellite plus `compile-pdf-core`, and fans a request out to the selected
producer's engine in-process. Mounted under `/v1/stream` by the central
[compile-pdf](https://github.com/printwithsynergy/compile-pdf) app.

## Install

```bash
uv pip install compile-pdf-stream
```

## HTTP surface

- `POST /v1/stream/apply` — `{ producer, input_pdf_b64, <producer plan> }` →
  streamed producer output + lineage metadata (deterministic cache key).

`producer` ∈ `rewrite | marks | impose | trap | soft_proof`.

## License

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