Metadata-Version: 2.0 Name: Honeybadger-Extensions Version: 0.1.2 Summary: Honeybadger extension that can log exceptions raised by Flask or Celery, adding more context than the original honeybadger python library. Home-page: http://github.com/Workable/honeybadger-extensions Author: Ioannis Foukarakis Author-email: ioannis.foukarakis@gmail.com License: MIT Description-Content-Type: UNKNOWN Platform: any Classifier: Environment :: Web Environment Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 3 Classifier: Topic :: Software Development :: Libraries :: Python Modules Requires-Dist: honeybadger (==0.1.2) Requires-Dist: blinker (>=1.1) Requires-Dist: Flask (>=0.8) Requires-Dist: celery (~=4.1.0) Provides-Extra: celery Requires-Dist: celery (~=4.1.0); extra == 'celery' Provides-Extra: test Requires-Dist: nose; extra == 'test' Requires-Dist: mock (==2.0.0); extra == 'test' Requires-Dist: coverage (~=4.3.4); extra == 'test' Honeybadger-Extensions ====================== |CircleCI| **Honeybadger-Extensions** extend current `Honeybadger Python library`_ to better support `Celery`_ & `Flask`_. It offers: - Improved reporting, including details for component, action etc. - Easier Honeybadger via Flask's or Celery's configuration object. - (Optional) Automatic reporting of errors detected by Celery or Flask. Features -------- Honeybadger-Extensions provides the ``install_celery_handler()`` function which can be used at any time which can be used to initialize both Honeybadger & allow improved Honeybadger reporting. It also offers the ``HoneybadgerFlask`` Flask extension that adds more information to Honeybadger logging, as well as automatic logging of errors raised in the view functions. Example 1: Initialize Celery ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In the following example, we will use the ``install_celery_handler`` to setup Honeybadger reporting. .. code:: python from celery import Celery from honeybadger_extensions import install_celery_handler celery = Celery(__name__) celery.config_from_object({ 'HONEYBADGER_API_KEY': '', 'HONEYBADGER_ENVIRONMENT': 'development' }) install_celery_handler(config=celery.conf, report_exceptions=True) Example 2: Initialize Flask ~~~~~~~~~~~~~~~~~~~~~~~~~~~ You can use HoneybadgerFlask extension to load Honeybadger configuration from Flask configuration object. .. code:: python from flask import Flask, jsonify from honeybadger_extensions import HoneybadgerFlask app = Flask(__name__) app.config['HONEYBADGER_ENVIRONMENT'] = 'development' app.config['HONEYBADGER_API_KEY'] = '' app.config['HONEYBADGER_EXCLUDE_HEADERS'] = 'Authorization, Proxy-Authorization, X-Custom-Key' app.config['HONEYBADGER_PARAMS_FILTERS'] = 'password, secret, credit-card' # Setup Honeybadger and listen for exceptions HoneybadgerFlask(app, report_exceptions=True) @app.route('/') def index(): a = int(request.args.get('a')) b = int(request.args.get('b')) logger.info('Dividing two numbers {} {}'.format(a, b)) return jsonify({'result': a / b}) Installation ------------ The easiest way to install it is using ``pip`` from PyPI .. code:: bash pip install Honeybadger-Extensions License ------- See the `LICENSE`_ file for license rights and limitations (MIT). .. _Honeybadger Python Library: https://github.com/honeybadger-io/honeybadger-python .. _Flask: http://flask.pocoo.org/ .. _Celery: http://www.celeryproject.org/ .. _LICENSE: https://github.com/Workable/honeybadger-extensions/blob/master/LICENSE.md .. |CircleCI| image:: https://img.shields.io/circleci/project/github/Workable/honeybadger-extensions.svg :target: https://circleci.com/gh/Workable/honeybadger-extensions