A common WSGI stack
Project description
Talisker - an opinionated WSGI app platform
Talisker is a runtime for your wsgi app that aims to provide a common platform for your python services.
It’s based on a number of standard python tools:
stdlib logging for logs
gunicorn for a wsgi runner
requests for http requests
statsd for metrics
raven for errors
werkzeug for thread locals and wsgi utilities
It is designed sepcifically to be used in both development and production, and aims to provide a default set of features out of the box:
standard log format, including ISO/UTC timestamps
stuctured logging with python stdlib
improved gunicorn access logs, with ms precision UTC timestamps
request id tracing
standard set of status endpoints for your app
easier statsd endpoint configuration
sentry/raven middleware (TODO)
All the above are available by just using the talisker entry point script, rather than gunicorn.
In addition, with a small amount of effort, your app can benefit from additional feature:
deeper nagios checks - just implement a _status/check url in your app
per-thread requests connection pool managment (WIP)
automatic statsd metrics for outgoing HTTP requests (WIP)
more efficient statsd client management (WIP)
Additionally, talisker provides additional tools for integrating with your infrastructure:
grok filters for log parsing (WIP)
rsyslog templates and config for log shipping (TODO)
Talisker is opinionated, and derived directly from the authors’ needs and as such not currently very configurable. However, PR’s are very welcome!
For more information, see The Documentation, which should be found at:
History
0.1.0 (2015-12-13)
First release on PyPI.