Metadata-Version: 1.1
Name: django-watchman
Version: 0.2.1
Summary: django-watchmen exposes a status endpoint for your backing services
Home-page: https://github.com/mwarkentin/django-watchman
Author: Michael Warkentin
Author-email: mwarkentin@gmail.com
License: BSD
Description: =============================
        django-watchman
        =============================
        
        .. image:: https://badge.fury.io/py/django-watchman.png
            :target: http://badge.fury.io/py/django-watchman
        
        .. image:: https://travis-ci.org/mwarkentin/django-watchman.png?branch=master
            :target: https://travis-ci.org/mwarkentin/django-watchman
        
        .. image:: https://coveralls.io/repos/mwarkentin/django-watchman/badge.png?branch=master
            :target: https://coveralls.io/r/mwarkentin/django-watchman?branch=master
        
        django-watchman exposes a status endpoint for your backing services like
        databases, caches, etc.
        
        .. image:: https://s3.amazonaws.com/snaps.michaelwarkentin.com/watchmenozy.jpg
        
        Documentation
        -------------
        
        The full documentation is at http://django-watchman.rtfd.org.
        
        Quickstart
        ----------
        
        1. Install ``django-watchman``::
        
            pip install django-watchman
        
        2. Add ``watchman`` to your ``INSTALLED_APPS`` setting like this::
        
            INSTALLED_APPS = (
                ...
                'watchman',
            )
        
        3. Include the watchman URLconf in your project ``urls.py`` like this::
        
            url(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
                        }
                    }
                ]
            }
        
        Features
        --------
        
        Token based authentication
        **************************
        
        If you want to protect the status endpoint, you can add a ``WATCHMAN_TOKEN`` to
        your settings. When this setting is added, you must pass that value in as the
        ``watchman-token`` **GET** parameter::
        
            GET http://127.0.0.1:8000/watchman/?watchman-token=:token
        
        If you want to change the token name, you can set the ``WATCHMAN_TOKEN_NAME``.
        The value of this setting will be the **GET** parameter that you must pass in::
        
            WATCHMAN_TOKEN_NAME = 'custom-token-name'
        
            GET http://127.0.0.1:8000/watchman/?custom-token-name=:token
        
        Custom checks
        *************
        
        django-watchman allows you to customize the checks which are run by modifying
        the ``WATCHMAN_CHECKS`` setting. In ``settings.py``::
        
            WATCHMAN_CHECKS = (
                'module.path.to.callable',
                'another.module.path.to.callable',
            )
        
        Checks now have the same contract as context processors: they consume a
        ``request`` and return a ``dict`` whose keys are applied to the JSON response::
        
            def my_check(request):
                return {'x': 1}
        
        In the absence of any checks, a 404 is thrown, which is then handled by the
        ``json_view`` decorator.
        
        Run a subset of available checks
        ********************************
        
        A subset of checks may be run, by passing ``?check=module.path.to.callable&check=...``
        in the request URL. Only the callables given in querystring, which are in the
        ``WATCHMAN_CHECKS`` should be run, eg::
        
            curl -XGET http://127.0.0.1:8080/watchman/?check=watchman.views.caches_status
        
        Default checks
        --------------
        
        By default, django-watchman will run checks against your databases
        (``watchman.views.databases_status``) and caches (``watchman.views.caches_status``).
        These will function even if you haven't configured the respective settings.
        
        
        
        
        History
        -------
        
        0.2.1 (2014-09-04)
        ++++++++++++++++++
        
        * Initialize django during tests to prevent app loading issue for Django >= 1.7
        * Suppress ``MIDDLEWARE_CLASSES`` warning for Django >= 1.7
        * Reorganize test imports
        * Fix ``make test``, ``make coverage``, ``make release`` commands
        * Add htmlcov/ directory to .gitignore
        * Test django 1.4, 1.6, 1.7
        
        0.2.0 (2014-09-04)
        ++++++++++++++++++
        
        * Custom checks can now be written and run using the ``WATCHMAN_CHECKS`` setting
        * A subset of the available checks can be run by passing the ``check`` GET param
          when hitting the watchman url
        
        0.1.2 (2014-02-21)
        ++++++++++++++++++
        
        * Move package requirements out of requirements.txt and into setup.py
        
        0.1.1 (2014-02-09)
        ++++++++++++++++++
        
        * Remove ``django>=1.5.5`` version specification
        * Remove ``wheel`` requirement
        
        
        0.1.0 (2014-02-08)
        ++++++++++++++++++
        
        * First release on PyPI.
        
Keywords: django-watchman
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Framework :: Django
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
