Godot Visual Smoke Test Kit
Screenshot diff and baseline helpers for Godot visual smoke tests. It reads scene/viewport config, compares PNG screenshots, writes diff images, approves baselines, and prints planned Godot capture commands.
The first release keeps Godot execution out of unit tests, so the package is easy to run in CI and safe to develop without a specific engine install.
Install
python -m pip install -e .
When published:
python -m pip install godot-visual-smoke-test-kit
Quick Start
godot-visual-smoke plan visual-smoke.toml --project . --godot C:\Tools\Godot.exe
godot-visual-smoke plan visual-smoke.toml --project . --format json
godot-visual-smoke plan visual-smoke.toml --project . --viewport-manifest viewports.toml --format json
godot-visual-smoke compare baselines\menu.png current\menu.png --diff diffs\menu.png
godot-visual-smoke approve current\menu.png baselines\menu.png
godot-visual-smoke compare baselines\menu.png current\menu.png --format json --output visual-report.json
First successful path:
- Run
planand capture current screenshots with your project-owned Godot helper. - Run
comparewith--format json --output visual-report.jsonand upload the current image, diff image, and JSON report as CI artifacts. - Review the current and diff images.
- Run
approveonly for an intentional visual update.
If either the baseline or current screenshot is missing, compare returns a normal text or JSON finding that names the missing file and the next step.
What It Does
- Parses
visual-smoke.toml. - Supports named viewport presets.
- Reuses viewport manifests across multiple smoke-test configs.
- Compares baseline and current PNG screenshots.
- Reports missing baseline or current screenshots with next-step guidance.
- Applies per-channel pixel tolerance.
- Fails when changed pixel percentage exceeds the configured threshold.
- Writes red diff images.
- Copies approved screenshots into baseline paths.
- Prints Godot capture commands for a project-owned helper script.
- Adds report metadata and readable failure explanations to JSON and text output.
Documentation
Development
python -m pip install -e .
python -m unittest discover -s tests -v
godot-visual-smoke plan examples\visual-smoke.toml --project examples\tiny-godot-project
godot-visual-smoke compare baselines\menu.png current\menu.png --diff diffs\menu.png --format json --output visual-report.json
Examples are generic. Do not publish screenshots from private projects unless they have been reviewed.
Metadata
Release files for godot-visual-smoke-test-kit 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| godot_visual_smoke_test_kit-0.1.3.tar.gz | 11.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| godot_visual_smoke_test_kit-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 23.0 kB
Release files / godot_visual_smoke_test_kit-0.1.3.tar.gz
| Download URL | godot_visual_smoke_test_kit-0.1.3.tar.gz |
|---|---|
| Size | 11.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8ef36b601772315efbb48f88f1050d4b3e96b65b638928426314e77189d5e01e
|
|
BLAKE2b-256 checksum How to use checksums |
dfc7dd0d7e9eaccfa8323674edf067a485522ee75d5b998dce7ec3ce75a71b2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Jul 13, 2026.
Transparency logRelease files / godot_visual_smoke_test_kit-0.1.3-py3-none-any.whl
| Download URL | godot_visual_smoke_test_kit-0.1.3-py3-none-any.whl |
|---|---|
| Size | 11.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
acc6c9b562be253f7f774715e27493e51e754a9aec333f313b5440bf5bcac0e5
|
|
BLAKE2b-256 checksum How to use checksums |
fe96629d359f03449179cccfa3bc53225e95278c764f36334f7754acc169e1c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
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 Jul 13, 2026.
Transparency log