Skip to main content

Deterministic visual regression testing CLI for Django platforms.

Project description

django-vrt

CI PyPI License

django-vrt (djvrt) is a Python-first visual regression testing package for Django platforms, built for large, fast-moving UI systems where you need deterministic screenshots, repeatable CI, and safe baseline promotion.

➡️ View the full documentation

Core Features

  • Deterministic Lockfile: djvrt.lock.json ensures a reproducible test matrix.
  • Reproducible Workflows: Separate baseline and check commands for clear intent.
  • Screenshot Diffing: Built-in visual diffing with a rich HTML report for reviewing changes.
  • Django Integration: Discover routes directly from your project's sitemap and URLConf.
  • Data Seeding: Use data and model seeding hooks for a stable UI state during tests.

Quick Install

uv add django-vrt
uv run playwright install chromium

Quickest Start

# 1. Create config file
uv run djvrt init

# 2. Discover URLs and create a lockfile
uv run djvrt discover --settings your_project.settings
uv run djvrt lock

# 3. Capture your initial baseline screenshots
uv run djvrt baseline

# 4. Run a check for visual changes
uv run djvrt check

For detailed guides, configuration, and CI setup, please see the full documentation.

Contributing

Contributions are welcome! Please see the Contributing Guide for details on setting up your development environment, running tests, and the release process.

Sponsors

This project is developed with support from Mabyduck — Evaluating AI-generated audio, images, and videos with human feedback.

Mabyduck Logo

Special thanks to Lucas Theis (LinkedIn) for enabling this work during business hours. Project maintained by William Blackie (LinkedIn).

Learn more: Mabyduck on GitHub | Mabyduck on LinkedIn

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_vrt-0.1.1.tar.gz (196.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_vrt-0.1.1-py3-none-any.whl (41.1 kB view details)

Uploaded Python 3

File details

Details for the file django_vrt-0.1.1.tar.gz.

File metadata

  • Download URL: django_vrt-0.1.1.tar.gz
  • Upload date:
  • Size: 196.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for django_vrt-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ac29b3cc0062e431de3ea1c36faad4f90eeb814c6e45947676fcc89c3a6d7a85
MD5 bf3e2f7ca8bee329e718994e903efe4f
BLAKE2b-256 9ed17d3800f41a20a679ce4b042f20e9257048524712bdd1c51af7b50f2d8040

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_vrt-0.1.1.tar.gz:

Publisher: publish.yml on William-Blackie/django-vrt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file django_vrt-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: django_vrt-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 41.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for django_vrt-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8ecb3ca7228779e0ed0bd75b40b5a82c0d7de18fd5142d93df8f9cbe8ae75878
MD5 a7b51ae3918aa3a82eed8108f3fcd168
BLAKE2b-256 17152d21eca1d3ca07b147897c881369df6a05e350b86bac56aede5ab1c89f21

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_vrt-0.1.1-py3-none-any.whl:

Publisher: publish.yml on William-Blackie/django-vrt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page