Skip to main content notifier plugin for Pyramid

Project description


pyramid_ratchet is a simple middleware for reporting errors from Pyramid apps to Ratchet.io_.

If pyramid_debugtoolbar is available, it will be monkey-patched so that exception pages show a link to the relevant item in

pyramid_ratchet requires:

- Python 2.6 or 2.7
- Pyramid 1.2+
- requests 0.12+
- a `error reporting`_ account

Install using pip::

pip install pyramid_ratchet

Add pyramid_ratchet to the *end* of your ``pyramid.includes``::

pyramid.includes =

Add the bare minimum configuration variables::

ratchet.access_token = 32charactertoken

Most users will want a few extra settings to take advantage of more features::

ratchet.access_token = 32charactertoken
ratchet.environment = production
ratchet.branch = master
ratchet.root = %(here)s

To enable Person tracking (to associate errors with users), attach a "ratchet_person" property to your ``request`` objects. It should return a dictionary containing an 'id' identifying the user (any string up to 40 characters), and may optionally include 'username' and 'email' (255-char strings). For example:

class MyRequest(pyramid.request.Request):
def ratchet_person(self):
return {
'id': get_user_id(self),
'username': get_username(self),
'email': get_user_email(self)

# when setting up your Configurator:
config = Configurator(settings=settings, request_factory=MyRequest)

If your request objects don't have a ratchet_person object, pyramid_ratchet will look for request.user_id instead.

Here's the full list of configuration variables:

Access token from your project
One of:

- blocking -- runs in main thread
- thread -- spawns a new thread
- agent -- writes messages to a log file for consumption by ratchet-agent_

**default:** ``thread``
Environment name. Any string up to 255 chars is OK. For best results, use "production" for your production environment.
Absolute path to the root of your application, not including the final ``/``. ``%(here)s`` is probably what you want.
Name of the checked-out branch.

**default:** ``master``
If ``handler`` is ``agent``, the path to the log file. Filename must end in ``.ratchet``
When true, adds a hook to send a test error report (but not interrupt the request in any other way) whenever the query string contains ``pyramid_ratchet_test=true``.

**default:** ``true``
URL items are posted to.

**default:** ````
Base URL of the web interface (used for links on the exception debug page)

**default** ````
If true, pyramid_debugtoolbar will be monkeypatched so that exception debug pages include a link to the item in

**default** ``true``


Contributions are welcome. The project is hosted on github at

Additional Help
If you have any questions, feedback, etc., drop me a line at

.. _error reporting:
.. _ratchet-agent:

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyramid_ratchet-0.3.3.tar.gz (5.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page