Skip to main content

django-watchman

PyPI version PyPI - Python Version PyPI - Django Version CI Docs

django-watchman exposes a status endpoint for your backing services like databases, caches, etc.

Ozymandias

Features

  • Status endpoint -- JSON response with the health of all backing services
  • Human-friendly dashboard -- HTML dashboard at /watchman/dashboard/
  • Built-in checks -- Databases, caches, storage, and email out of the box
  • Custom checks -- Write your own checks and plug them in
  • Token-based authentication -- Protect the endpoint with configurable tokens
  • Management command -- Run checks from the CLI via python manage.py watchman
  • Ping endpoint -- Lightweight /watchman/ping/ endpoint returning pong
  • Bare status view -- Minimal HTTP 200/500 response for load balancers
  • APM integration -- Suppress tracing for health check endpoints (Datadog, New Relic)

Endpoints

Including watchman.urls gives you three endpoints. The bare status view is added separately in your own urls.py.

Endpoint Description Auth
/watchman/ JSON response with full check results Yes
/watchman/dashboard/ Human-friendly HTML dashboard Yes
/watchman/ping/ Returns pong -- no checks run, just a liveness probe No
/watchman/bare/ Empty response, HTTP 200 or 500 -- wire up manually via watchman.views.bare_status No

Built-in Checks

Check Module path Default Description
Databases watchman.checks.databases Yes Verifies connectivity for each database in DATABASES
Caches watchman.checks.caches Yes Sets, gets, and deletes a test key in each cache from CACHES
Storage watchman.checks.storage Yes Writes, reads, and deletes a test file using default_storage
Email watchman.checks.email No Sends a test email -- disabled by default since it may incur costs with third-party providers

Enable email and other paid checks with WATCHMAN_ENABLE_PAID_CHECKS = True, or customize the full list with the WATCHMAN_CHECKS setting. You can also write custom checks.

Documentation

The full documentation is at django-watchman.readthedocs.io.

Used By

django-watchman is trusted in production by organizations including:

See the full list of dependents on GitHub.

Testimonials

We're in love with django-watchman. External monitoring is a vital part of our service offering. Using django-watchman we can introspect the infrastructure of an application via a secure URL. It's very well written and easy to extend. We've recommended it to many of our clients already.

-- Hany Fahim, CEO, VM Farms.

Quickstart

  1. Install django-watchman:

    pip install django-watchman
    

    Or with uv:

    uv add django-watchman
    
  2. Add watchman to your INSTALLED_APPS setting:

    INSTALLED_APPS = (
        ...
        'watchman',
    )
    
  3. Include the watchman URLconf in your project urls.py:

    re_path(r'^watchman/', include('watchman.urls')),
    
  4. Start the development server and visit http://127.0.0.1:8000/watchman/ to get a JSON response of your backing service statuses:

    {
        "databases": [
            {
                "default": {
                    "ok": true
                }
            }
        ],
        "caches": [
            {
                "default": {
                    "ok": true
                }
            }
        ],
        "storage": {"ok": true}
    }
    
  5. You can also run checks from the command line:

    python manage.py watchman
    

    Use -v 2 for verbose output, -c to run specific checks, or -s to skip checks.

Configuration Highlights

Setting Description
WATCHMAN_TOKENS Comma-separated tokens to protect the endpoint
WATCHMAN_TOKEN_NAME Custom GET parameter name for the token (default: watchman-token)
WATCHMAN_AUTH_DECORATOR Dotted path to a custom auth decorator (default: watchman.decorators.token_required)
WATCHMAN_CHECKS Tuple of dotted paths to the checks to run
WATCHMAN_ENABLE_PAID_CHECKS Enable paid checks like email (default: False)
WATCHMAN_DATABASES Subset of DATABASES to check
WATCHMAN_CACHES Subset of CACHES to check
WATCHMAN_EXPOSE_ERROR_DETAILS Include exception messages and stacktraces of failed checks in responses (default: False)
WATCHMAN_ERROR_CODE HTTP status code for failing checks (default: 500)
WATCHMAN_DISABLE_APM Suppress APM tracing on watchman views (default: False)
EXPOSE_WATCHMAN_VERSION Include X-Watchman-Version response header (default: False)

See the full configuration documentation for details and examples.

Contributing

Contributions are welcome! Please see the contributing guide for details on how to get started.

License

BSD-3-Clause

Metadata

Release files for django-watchman 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for django-watchman 2.0.0
File Size Uploaded Provenance Actions
django_watchman-2.0.0.tar.gz 25.6 kB With provenance Details for django_watchman-2.0.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for django-watchman 2.0.0
File Interpreter ABI Platform Actions
django_watchman-2.0.0-py3-none-any.whl Python 3 none any Details for django_watchman-2.0.0-py3-none-any.whl

Total release size: 44.2 kB

Release files / django_watchman-2.0.0.tar.gz

Download URL django_watchman-2.0.0.tar.gz
Size 25.6 kB
Tags Source
SHA-256 checksum
How to use checksums
e76774b1f515b9f41b58c53ae249c2dfee35711699fa08813b98a15e22ae0d36
BLAKE2b-256 checksum
How to use checksums
dade6ebfbc1d3691c98380d855c7660567b330cda8b092f79f46c6ae724eb763
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Release files / django_watchman-2.0.0-py3-none-any.whl

Download URL django_watchman-2.0.0-py3-none-any.whl
Size 18.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
233f4b03225481bfa082606879517e0c22d9a18c453066aa53af2c583aeec16d
BLAKE2b-256 checksum
How to use checksums
db9a568095de379add56383b8b101d0c22682741c0d60f1d1834dfcc7d5bb2a7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Nov 2, 2026.

Transparency log

Security for django-watchman 2.0.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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for django_watchman-2.0.0.tar.gz

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 Nov 2, 2026.

Transparency log

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.

Release history Release notifications | RSS feed

This release

2.0.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page