Bugfixes around CLI and WSGI.
- Bug #73: hospital-cli exits with code 0 on success, 1 in case of failure (was always returning 0, even if some healthchecks reported errors).
- Bug #78: hospital-wsgi supports unittest’s “skip” feature (was raising errors).
- Refactoring #80: updated some links in documentation (permanent redirects).
Fixing some URLs in documentation.
- Bug #76: fixed some broken links in documentation (milestones, pytest markers). Checking documentation links as part of Sphinx tests.
Integration with pytest and support for Python 3.4.
- Feature #50: pytest can collect and run healthchecks.
- Feature #65: added support for Python 3.4.
- Refactoring #62: moved tests outside distribution, i.e. hospital.tests is no longer available. Tests now live in hospital’s repository only.
- Refactoring #59: removed nose and rednose from sphinx requirements in tox.ini.
- Refactoring #58: removed useless all target in Makefile.
- Bug #52: fixed test discovery in packages and modules located outside working directory. Was raising exceptions such as AssertionError: Path must be within the project and ValueError: Attempted relative import in non-package.
- Feature #54: README (and documentation index) shows a simple example.
- Bug #51: documentation footer now mentions “BSD license” next to the copyright. Was missing, readers could believe the project is not open source.
Improvements around CLI and WSGI features.
- Feature #44: hospital.wsgi.application is a WSGI endpoint. Added documentation about running healthcheck service with Gunicorn, Chaussette, Circus, and Django via twod.wsgi.
- Feature #47: hospital-cli and hospital-serve commands are a convenient way to use hospital.cli and hospital.wsgi.
Introduced CLI and WSGI. They offer basic features (with experimental implementation), but they should be enough as proof of concepts.
- Feature #39: python -m hospital.cli collects and runs healthchecks.
- Feature #20: python -m hospital.wsgi runs a web server that collects and runs healthchecks on HTTP GET.
Improvements around output of builtin assertions.
- Feature #33: builtin assertions functions accept optional msg argument.
- Bugfix #31: when assert_http_response() fails, it provides comprehensive message (was “AssertionError” without details about URL and reason).
Documentation review and development environment refactoring: let’s try to simplify usage and development of hospital.
- Feature #25: the Makefile in project’s repository no longer creates a virtualenv. Developers setup the environment as they like, i.e. using virtualenv, virtualenvwrapper or whatever. Added documentation about the Makefile scope and usage.
- Feature #19: reviewed contributor guide, added branching policy.
- Feature #24: added note about project’s status in documentation.
- Feature #21: reviewed API documentation.
- Bugfix #18: README can be rendered as HTML with docutils‘ rst2html.py. Fixes PyPI information page.
Documentation review, API refactoring, addition of some assertions.
- Feature #17: introduced assert_http_response assertion.
- Feature #16: introduced assert_supported_python_version assertion.
- Feature #15: exposed API at root of hospital package. Items not exposed in this root API may be moved without notice, whereas root API is tested and refactoring will be documented.
- Feature #14: introduced healthcheck decorator. Deprecates former HealtCheck base class (not removed in this version).
- Feature #13: dropped support of Python 2.6
- Feature #12: introduced support of Python 3.3
- Feature #11: project has mailing-list email@example.com
- Feature #10: project has IRC channel #python-hospital on freenode.
- Bugfix #9: Fixed examples in README.
- Feature #8: introduced assert_ping assertion.
- Feature #7: added tests around hospital’s Python API.
- Feature #6: added support for TravisCI continuous integration
- Feature #5: introduced documentation
- Feature #4: imported HealthCheckLoader from django-doctor.
- Feature #3: introduced DistributionHealthCheck.
- Feature #2: introduced PredictableHealthCheck.
- Feature #1: imported HealthCheck from django-doctor.
- Initialized project
Notes & references