🌿 doc-pipeline v1.0.0 · MIT
Batch PDF generation with zero silent failures: every job gets an explicit result code, and a broken verifier fails the run.
What it does
- Manifest-driven batch: run N jobs through a pluggable engine (default: pdfgen,
python -m pdfgen). - Explicit result codes:
OK,VERIFY_FAIL,INPUT_ERR,CRASH,TIMEOUT— nothing fails silently. - Verifier watchdog: a job marked
"expect": "fail"that unexpectedly succeeds makes the whole run fail — a defective verifier is treated as a potential silent failure. - Input validation before execution: missing files / bad manifest produce explicit errors, no stack traces.
- Hygienic outputs: partial PDFs are removed when a job fails; machine-readable
pipeline-report.json+ human log every run.
Install (pip)
pip install "doc-pipeline @ git+https://mandrilly.com/git/doc-pipeline.git"
Pulls in pdfgen as the default engine. On macOS the tool sets DYLD_LIBRARY_PATH=/opt/homebrew/lib for the engine if needed (pango).
Usage
doc-pipeline --manifest manifest.json --outdir out
Manifest (paths relative to the manifest file):
{
"jobs": [
{"name": "report1", "template": "report",
"meta": "fixtures/report_meta.json", "body": "fixtures/report_body.md"},
{"name": "corrupt", "template": "report",
"meta": "fixtures/corrupt_meta.json", "body": "fixtures/body.md",
"expect": "fail"}
]
}
Options: --engine "<command>" (pluggable; receives --template/--meta/--body/-o/--verify-report), --timeout N (default 120s), --quiet. Exit codes: 0 all jobs matched expectations · 1 mismatch or run error.
Self-test
python -m doc_pipeline --manifest tests/manifest.json --outdir out --quiet # PASS: 5 OK + 3 expected failures confirmed → exit 0
Source
git clone https://mandrilly.com/git/doc-pipeline.git