htmlcmp
Tool to compare (generated) HTML files visually and automatically using Selenium.
Provides various entry points to run:
compare-htmlis a CLI tool to compare two directory structures containing HTML filescompare-html-serverstarts a webserver and allows to inspect differences manuallyhtml-render-diffrenders two HTML files and produces imageshtml-tidyallows to run HTML tidy on a directory
Used for regression testing in https://github.com/opendocument-app/OpenDocument.core.
Reviewing differences in the browser
compare-html-server serves two pages:
- the overview lists every comparable file with its status (
same,different,pending), a search box, status filters with counts, and anupdate refbutton per file plusUpdate all in view - the compare page (click a path) shows reference (A) and monitored (B) side by side with synchronised scrolling, a diff strip in between, and the controls to work through a review
On the compare page:
- Update reference copies the monitored file over the reference one; the
file is then marked
✓ acceptedfor the rest of the session (the mark disappears again if the monitored file changes afterwards) - ← / → step to the previous and next document; tick diffs only to skip files that already match
- the diff strip maps the whole page into the column: red bars mark the regions that differ, the blue box marks the visible part of the document, and a click jumps both panes to that position
| key | action |
|---|---|
← / k, → / j |
previous / next document |
1 / 2 / 3 |
reference only / side by side / monitored only |
d |
toggle the diff strip |
u |
update the reference |
r |
reload both panes |
Esc |
back to the overview |
? |
shortcut help |
Comparison results are computed live, so the pages update themselves while the monitored directory is being regenerated. Accepted marks are kept in memory only and are gone after a restart.
Install via PyPI
pip install htmlcmp
Download and run the docker image
docker pull ghcr.io/opendocument-app/odr_core_test
docker run -ti \
-v $(pwd):/repo \
-p 8000:8000 \
ghcr.io/opendocument-app/odr_core_test \
compare-html-server /repo/REFERENCE /repo/MONITORED --compare --driver firefox --port 8000
Manually build the docker image
docker build --tag odr_core_test test/docker
Run locally
PYTHONPATH=$(pwd)/src:$PYTHONPATH python ./src/htmlcmp/compare_output_server.py \
/path/to/REFERENCE \
/path/to/MONITORED \
--compare \
--driver firefox \
--port 8000 \
-vv
Release files for htmlcmp 2.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| htmlcmp-2.3.0.tar.gz | 30.3 kB | Details |
Release files / htmlcmp-2.3.0.tar.gz
| Download URL | htmlcmp-2.3.0.tar.gz |
|---|---|
| Size | 30.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
67ed154d1e1c397d9440b30fb1ecacd980cd7251270313a6754632c56cfb78dd
|
|
BLAKE2b-256 checksum How to use checksums |
3eb309ba7fb86b041547ed060e538bee7965eb74ad6f0037d82f39230e0591a6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 28, 2026.
Transparency log