hospital: healthchecks for Python

hospital is a Python framework to write health checks, smoke tests or diagnoses around applications or services.

Abstract

Health checks are kind of tests, applied to running applications and services:

  • write healtchecks just as you would write tests, using assertions;
  • collect and run healthchecks with test runners;
  • use healthchecks to validate deployments;
  • plug healthchecks in supervision and monitoring tools;
  • in case of incidents, use healthchecks to diagnose problems.

Example

In your project’s root package, have a healthchecks package or module, where you assert your (running) application or service is ok:

import unittest
import hospital

@hospital.healthcheck
class DocumentationHealthCheck(unittest.TestCase):
    def test_http_200(self):
        url = 'http://hospital.readthedocs.org/en/0.6/'
        hospital.assert_http_response(url, status_code=200)

Then you can collect and run the healthchecks with command line or web service. Here is an example with command line:

$ hospital-cli <YOUR-PACKAGE>.healthchecks

Project status

hospital is not full-featured yet. Some important features are in the roadmap. See also vision.

Of course, any ideas, feedback or help are welcome :)

Indices and tables