pdf-fax-optimizer 2.0.0
First release as a proper, pip-installable package — alongside the existing agent skill.
pip install pdf-fax-optimizer
pdf-fax-optimizer input.pdf -o output.fax.pdfHighlights
- Installable CLI package. New
pyproject.toml(hatchling) with console scriptspdf-fax-optimizerandpdf-fax-send, optional extras[ocr]/[send]/[all]/[dev], and bundled halftone assets shipped in the wheel. - One source tree, two distributions. Code now lives in an importable
pdf_fax_optimizerpackage nested in the skill folder; thin shims keeppython scripts/*.pyand existing skill installs working. - Mixed-page DPI fix. A low-DPI embedded raster no longer drags down live vector text on the same page — the preset now acts as a floor for text-bearing pages. The JSON report records
chosen_dpiandchosen_dpi_reasonfor auditability. - Safer
check_deps. Detect-only by default; auto-install is gated behind--auto-install, and--break-system-packagesis a separate explicit opt-in. - Tests + CI. New
pytestsuite over synthetic fixtures (smoke, pipeline, report, CLI, conversion, send, and a mixed-DPI regression guard) running on Python 3.10/3.11/3.12 withruff, plus automated PyPI publishing via Trusted Publishing.
Docs
- pip-first install + Development sections in the README,
python -m pdf_fax_optimizer.*entry points inSKILL.md,recover_textclarified as opt-in, and the square vs. anisotropic rendering history reorganized into a Background note.