django-rainbowtests
This is a custom test runner for Django that gives you really colorful test output.
Installation
Install the latest release with:
pip install django-rainbowtests
Or with uv:
uv add django-rainbowtests
Usage
Set your test runner in Django settings:
TEST_RUNNER = 'rainbowtests.test.runner.RainbowDiscoverRunner'
Then run your tests as usual:
python manage.py test
Settings
RAINBOWTESTS_HIGHLIGHT_PATH
While running your tests, any lines in your tracebacks that match this path will be highlighted, making them easier to find and read. If you omit this setting, the default is to use the path to your Django installation.
RAINBOWTESTS_HIGHLIGHT_PATH = '/path/to/my/project/'
RAINBOWTESTS_SHOW_MESSAGES
If the test output is too verbose and you just want a colorful version of the standard Django test output, set RAINBOWTESTS_SHOW_MESSAGES to False:
RAINBOWTESTS_SHOW_MESSAGES = False
Python/Django Compatibility
- Python: 3.10, 3.11, 3.12, 3.13, 3.14
- Django: 4.2, 5.2
Coverage
There is support for coverage via a custom test runner:
TEST_RUNNER = 'rainbowtests.test.runner.RainbowDiscoverCoverageRunner'
Run your tests as normal (python manage.py test), and if you have coverage installed, you should see a report when your tests complete.
Note: The recommended modern workflow is to use coverage run manage.py test directly, which gives you more control over coverage settings.
Development
This project uses uv for dependency management.
# Clone the repository
git clone https://github.com/bradmontgomery/django-rainbowtests.git
cd django-rainbowtests
# Install dependencies
uv sync --group dev --group test
# Run tests
uv run pytest
# Run linter
uv run ruff check .
License
MIT. See LICENSE.md.
Metadata
Release files for django-rainbowtests 0.7.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 | Provenance | Actions |
|---|---|---|---|---|
| django_rainbowtests-0.7.0.tar.gz | 8.6 kB | Without provenance | Details for django_rainbowtests-0.7.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| django_rainbowtests-0.7.0-py3-none-any.whl | Python 3 | none | any | Details for django_rainbowtests-0.7.0-py3-none-any.whl |
Total release size: 17.4 kB
Release files / django_rainbowtests-0.7.0.tar.gz
| Download URL | django_rainbowtests-0.7.0.tar.gz |
|---|---|
| Size | 8.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9af8a45268af4000f94e7f77c30af00f21f1198420549fa59d81096907cadb22
|
|
BLAKE2b-256 checksum How to use checksums |
36c3b8116ed9c781baec243536a85a259cec294dc7849373857e1aeb6e81ff5a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / django_rainbowtests-0.7.0-py3-none-any.whl
| Download URL | django_rainbowtests-0.7.0-py3-none-any.whl |
|---|---|
| Size | 8.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9540fb78010ab09a9a5c29d4f23d28d787d34879f4561b782db3c24d47db03b4
|
|
BLAKE2b-256 checksum How to use checksums |
a30af907060a9eea833e5a6e015719d5633fa66157fbcbbad7676cacb5bc2578
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Security for django-rainbowtests 0.7.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.