Skip to content

printpapi v1.0.0

Choose a tag to compare

@LukiPrince LukiPrince released this 15 Jul 19:06

Self-hosted, open-source PrintNode alternative — first public release.

What's in the box

  • HTTP print server — Python standard library only, no dependencies. REST API, SQLite job queue (WAL + visibility-timeout reaper), per-client API keys (SHA-256-hashed, revocable), web dashboard.
  • Cross-platform agent — polls outbound (works behind NAT/firewalls, no inbound ports). Windows: win32print RAW + SumatraPDF for PDF. Linux: CUPS. Raw network printers via socket://host:9100.
  • Documents and labels — raw jobs (ZPL/ESC-POS) go straight to the printer; PDFs are rendered first. Label printers are never sent a PDF by accident.
  • 67 tests, real loopback HTTP + real SQLite, no mocks.

Getting started

See the README — server up in one command, agent in three steps.

printpapi-agent.zip below contains the agent script + an agent.ini template for machines where you don't want to clone the repo.

Known limitation

The Windows agent is not code-signed yet — on locked-down machines (Smart App Control/WDAC) run it via the signed Python interpreter (see docs/agent.md).