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.2.0.tar.gz (4.5 MB 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.2.0-py3-none-any.whl (498.2 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for django_vrt-0.2.0.tar.gz
Algorithm Hash digest
SHA256 97bec692822f6f88f51ca12b97051dc8132b031ce8070fa2d4b7e8744a22cc66
MD5 db184cbbadf4588b38d70a841ba8a84c
BLAKE2b-256 bd254911b8982eaf4cc6213a65669a0f8761f6dedb64edcea3914d7cf8e0e98c

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_vrt-0.2.0.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.2.0-py3-none-any.whl.

File metadata

  • Download URL: django_vrt-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 498.2 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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f9eb1d9facfb2bf86c12f77734da3eb3dd53dc4d2624860515c0311100a5021
MD5 5eb471ead2f10e29eadb5581e110998c
BLAKE2b-256 4da93ea88c516fe36fbc62cd15ff3d9d04a87fb2ee950f73df742e59874f0701

See more details on using hashes here.

Provenance

The following attestation bundles were made for django_vrt-0.2.0-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