Characterized and Measured Display Calibration
Detect a display, preview an exact plan, explicitly confirm supported changes,
and keep measured observations separate from estimates.
Nominal characterizations for OLED, QD-OLED, IPS, and VA panels. Sensorless results are estimates, not measurements of the attached unit.
Supported brightness, contrast, RGB gain, and RGB black-level changes are bounded, previewed, and explicitly confirmed before a write.
Generate correction LUT assets for supported consumers. Applying an asset is a separate capability-checked and confirmed operation.
Export ICC v4 profiles with per-channel TRCs and evidence-labelled characterization or instrument inputs. Installation is never automatic.
Build an estimated plan from panel characterization when no instrument is attached. Sensorless results are labelled estimated and are never presented as measurements of the attached unit.
With a supported colorimeter attached, read the selected display over four 17-step ramps and generate from that reading. A run is refused while the display is loading a correction, so the numbers describe the panel rather than the panel plus somebody else's calibration.
Tray, guard, and startup surfaces monitor or report only. Automatic reapply is disabled; a fresh plan and confirmation are required.
Identify connected displays and match them to the panel database. A display the database does not name is calibrated from the primaries it declares about itself, and the result says it came from a declaration rather than a reading.
Select a calibration target. The characterized method is the one 2.0 offers; the measured method is present and disabled, and the window says why.
Review the immutable plan and explicitly confirm it before any supported write.
Read the display's distance from the target before and after the correction, so the pair says what changed. Every result carries its evidence: measured, estimated, simulated, replayed, or Not measured.
pip install ".[all]"
calibrate-pro gui
calibrate-pro doctor # Installation and capability diagnostics calibrate-pro doctor --json # Stable machine-readable diagnostics calibrate-pro profiles out # Re-check the seal on published bundles
The packaged binary answers these. list-targets, list-panels, info, and hdr-status exist only in the developer wheel, and the binary refuses each with exit code 2.
calibrate-pro detect # Displays observed, with characterization sources calibrate-pro status # Actions this session can run, and why the rest cannot calibrate-pro verify --target srgb_web # Sealed plan and its predicted accuracy calibrate-pro diagnostics # What a support bundle would carry, with digests
The headless session runs the same actions the window runs. It reads, it plans, and it publishes sealed bundles into a directory you name. It does not change display state. Accuracy figures from a sensorless plan are estimated, and the command prints that beneath them.
Legacy action names such as auto, calibrate, and restore are proposal-only in 2.0. They return exit code 2 without changing display state and direct you to the confirmed GUI workflow.