v0.0.1 MIT Python 3.10+

UUT test reports,
without the boilerplate.

A lightweight Python library for generating structured measurement reports from test data. HTML, Excel, and PDF output with automatic pass/fail evaluation.

$ pip install instrumation-report
Get Started → See Examples Try It Live

Output formats

📄

HTML

Self-contained file. Section headings, green/red badges, summary block. Opens in any browser.

📊

Excel

Structured .xlsx with merged headers, per-row colour fills, and a summary table.

🖨️

PDF

Rendered from the HTML template via weasyprint. Proper A4 page breaks and page numbers.

What the report looks like

RF Subsystem Validation

Production Test — Board Rev A

EngineerAbduznik
UUTSignal Analyzer Module
SerialSN-2024-001
RevisionA
BatchLOT-88B
Test No.NameValueUnitExpectedPass / FailNotes
1.1.13.3V Rail3.31V3.2 – 3.4 VPASSNominal
1.1.25V Rail5.02V4.9 – 5.1 VPASS
1.1.312V Rail11.0V11.5 – 12.5 VFAILUnder spec
2.2.1Noise Figure3.8dB< 5 dBPASS
Temperature24.3°CN/AAmbient
5Total
3Passed
1Failed
75.0%Pass Rate

Looks like this in code

minimal example
from instrumation_report import Report, Measurement

r = Report()
r.add(Measurement("3.3V Rail",  3.31, "V",  condition=(3.2, 3.4)))
r.add(Measurement("5V Rail",    5.02, "V",  condition=(4.9, 5.1)))
r.add(Measurement("Frequency",  1002, "Hz", condition=lambda v: v > 1000))

r.generate_html("report.html")
r.generate_excel("report.xlsx")
Full tutorial → Run this in your browser