{ "info": { "author": "BK Box, Sam Stavinoha", "author_email": "samuel.stavinoha@rackspace.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development" ], "description": "airbrake-python\n===============\n\n*Note*. Python 3.4+ are advised to use new `Airbrake Python\nnotifier `__ which supports async\nAPI and code hunks. Python 2.7 users should continue to use this\nnotifier.\n\n`Airbrake `__ integration for python that quickly\nand easily plugs into your existing code.\n\n.. code:: python\n\n import airbrake\n\n logger = airbrake.getLogger()\n\n try:\n 1/0\n except Exception:\n logger.exception(\"Bad math.\")\n\nairbrake-python is used most effectively through its\n`logging `__ handler, and\nuses the `Airbrake V3 API `__ for error\nreporting.\n\ninstall\n~~~~~~~\n\nTo install airbrake-python, run:\n\n.. code:: bash\n\n $ pip install -U airbrake\n\nsetup\n~~~~~\n\nThe easiest way to get set up is with a few environment variables:\n\n.. code:: bash\n\n export AIRBRAKE_API_KEY=*****\n export AIRBRAKE_PROJECT_ID=12345\n export AIRBRAKE_ENVIRONMENT=dev\n\nand you\u2019re done!\n\nOtherwise, you can instantiate your ``AirbrakeHandler`` by passing these\nvalues as arguments to the ``getLogger()`` helper:\n\n.. code:: python\n\n import airbrake\n\n logger = airbrake.getLogger(api_key=*****, project_id=12345)\n\n try:\n 1/0\n except Exception:\n logger.exception(\"Bad math.\")\n\nBy default, airbrake will catch and send uncaught exceptions. To avoid\nthis behvaiour, use the send_uncaught_exc option:\n``logger = airbrake.getLogger(api_key=*****, project_id=12345, send_uncaught_exc=False)``\n\nsetup for Airbrake On-Premise and other compatible back-ends (e.g.\u00a0Errbit)\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nAirbrake `Enterprise `__ and self-hosted\nalternatives, such as `Errbit `__,\nprovide a compatible API.\n\nYou can configure a different endpoint than the default\n(``https://api.airbrake.io``) by either:\n\n- Setting an environment variable:\n\n.. code:: bash\n\n export AIRBRAKE_HOST=https://self-hosted.errbit.example.com/\n\n- Or passing a ``host`` argument to the ``getLogger()`` helper:\n\n.. code:: python\n\n import airbrake\n\n logger = airbrake.getLogger(api_key=*****, project_id=12345, host=\"https://self-hosted.errbit.example.com/\")\n\nadding the AirbrakeHandler to your existing logger\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n.. code:: python\n\n import logging\n\n import airbrake\n\n yourlogger = logging.getLogger(__name__)\n yourlogger.addHandler(airbrake.AirbrakeHandler())\n\n*by default, the ``AirbrakeHandler`` only handles logs level ERROR (40)\nand above*\n\nAdditional Options\n^^^^^^^^^^^^^^^^^^\n\nMore options are available to configure this library.\n\nFor example, you can set the environment to add more context to your\nerrors. One way is by setting the AIRBRAKE_ENVIRONMENT env var.\n\n::\n\n export AIRBRAKE_ENVIRONMENT=staging\n\nOr you can set it more explicitly when you instantiate the logger.\n\n.. code:: python\n\n import airbrake\n\n logger = airbrake.getLogger(api_key=*****, project_id=12345, environment='production')\n\nThe available options are: - environment, defaults to env var\n``AIRBRAKE_ENVIRONMENT`` - host, defaults to env var ``AIRBRAKE_HOST``\nor https://api.airbrake.io - root_directory, defaults to None - timeout,\ndefaults to 5. (Number of seconds before each request times out) -\nsend_uncaught_exc, defaults to True (Whether or not to send uncaught\nexceptions)\n\ngiving your exceptions more context\n^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\n.. code:: python\n\n import airbrake\n\n logger = airbrake.getLogger()\n\n def bake(**goods):\n try:\n temp = goods['temperature']\n except KeyError as exc:\n logger.error(\"No temperature defined!\", extra=goods)\n\nSetting severity\n^^^^^^^^^^^^^^^^\n\n[Severity][what-is-severity] allows categorizing how severe an error is.\nBy default, it\u2019s set to ``error``. To redefine severity, simply\n``build_notice`` with the needed severity value. For example:\n\n.. code:: python\n\n notice = airbrake.build_notice(exception, severity=\"critical\")\n airbrake.notify(notice)\n\nUsing this library without a logger\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\nYou can create an instance of the notifier directly, and send errors\ninside exception blocks.\n\n.. code:: python\n\n from airbrake.notifier import Airbrake\n\n ab = Airbrake(project_id=1234, api_key='fake')\n\n try:\n amazing_code()\n except ValueError as e:\n ab.notify(e)\n except:\n # capture all other errors\n ab.capture()\n\nRunning Tests Manually\n^^^^^^^^^^^^^^^^^^^^^^\n\nCreate your environment and install the test requirements\n\n::\n\n virtualenv venv\n source venv/bin/activate\n pip install .\n python setup.py test\n\nTo run via nose (unit/integration tests):\n\n::\n\n source venv/bin/activate\n pip install -r ./test-requirements.txt\n source venv/bin/activate\n nosetests\n\nRun all tests, including multi-env syntax, and coverage tests.\n\n::\n\n pip install tox\n tox -v --recreate\n\nIt\u2019s suggested to make sure tox will pass, as CI runs this. tox needs to\npass before any PRs are merged.\n\n--------------\n\nThe `airbrake.io `__ api docs used to implement\nairbrake-python are here: https://airbrake.io/docs/api/\n\n[[what-is-severity]:\nhttps://airbrake.io/docs/airbrake-faq/what-is-severity/]\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/airbrake/airbrake-python", "keywords": "airbrake exceptions airbrake.io 4c595398", "license": "Apache License, Version 2.0", "maintainer": "", "maintainer_email": "", "name": "airbrake", "package_url": "https://pypi.org/project/airbrake/", "platform": "", "project_url": "https://pypi.org/project/airbrake/", "project_urls": { "Homepage": "https://github.com/airbrake/airbrake-python" }, "release_url": "https://pypi.org/project/airbrake/2.1.2/", "requires_dist": [ "requests (>=2.20.0)" ], "requires_python": "", "summary": "Python SDK for airbrake.io", "version": "2.1.2" }, "last_serial": 4898175, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "5958e8f3f3e6bcda6e2fdb3d8acf56ea", "sha256": "2b4c0e4f351589a42405a7a398ac82be9305571c25536b26ed3e1caeb523cb7e" }, "downloads": -1, "filename": "airbrake-1.0.0.tar.gz", "has_sig": false, "md5_digest": "5958e8f3f3e6bcda6e2fdb3d8acf56ea", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4087, "upload_time": "2014-02-20T20:09:56", "url": "https://files.pythonhosted.org/packages/dc/0e/22ff4cc83f4e23ee26f1339f4b4ee6bf6ec581a74b27dbf12d6379f8eda3/airbrake-1.0.0.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "286d2bf87e12af5b600254c7f9b85689", "sha256": "75b737c043e6af42e68d445ad148664400cc4249e4176e21467053f69fc1f374" }, "downloads": -1, "filename": "airbrake-1.1.1.tar.gz", "has_sig": false, "md5_digest": "286d2bf87e12af5b600254c7f9b85689", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6700, "upload_time": "2014-08-13T05:52:25", "url": "https://files.pythonhosted.org/packages/72/50/f45c8c2e8c0d124f47c5e4b9197eae4f107ef2d7339aed69ddc9d72f104f/airbrake-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "eea7d289a5fe4d9f9d6e26997565143a", "sha256": "0ae8c38a0f984b6ad055acaa775365721b85568a9c32397a192e8139de5ca7be" }, "downloads": -1, "filename": "airbrake-1.1.2.tar.gz", "has_sig": false, "md5_digest": "eea7d289a5fe4d9f9d6e26997565143a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6661, "upload_time": "2014-08-13T16:53:42", "url": "https://files.pythonhosted.org/packages/19/31/8f0a5d50e6a369f97bc06eb726f6bc22d8fa3bf9372532d2b9de3a142f7e/airbrake-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "55e133aebd480c72e3a33afd5af548e2", "sha256": "31948a5ccfec56130a6bf5daa40c602cf1fd87d101e83cfa85ac0bdffde8a3db" }, "downloads": -1, "filename": "airbrake-1.1.3.tar.gz", "has_sig": false, "md5_digest": "55e133aebd480c72e3a33afd5af548e2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6792, "upload_time": "2014-08-20T18:40:44", "url": "https://files.pythonhosted.org/packages/89/d6/ff60e2bb1d8173789bd287277ae51ba848e2de45c3c38691bdd822eb5ade/airbrake-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "4607c987c8abbb1915f620b4774f0910", "sha256": "703ce7eaef1cf1e73ed2536bcb497a9fb69ab30f0182fa5b53a6889f40660d94" }, "downloads": -1, "filename": "airbrake-1.1.4.tar.gz", "has_sig": false, "md5_digest": "4607c987c8abbb1915f620b4774f0910", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6732, "upload_time": "2015-01-30T03:04:23", "url": "https://files.pythonhosted.org/packages/b9/ef/8d974c8240d8fe9439c16e2fee061e7b4822b8cf9e0f88898b2dc75ed91b/airbrake-1.1.4.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "326995982789add8a6bc38c20e3e9c98", "sha256": "9751692e61b202c7a90a1cf3bd159ba992ab5caffdd59d0aa1580f8d5f792022" }, "downloads": -1, "filename": "airbrake-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "326995982789add8a6bc38c20e3e9c98", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11889, "upload_time": "2016-01-08T21:48:57", "url": "https://files.pythonhosted.org/packages/e4/e2/90c75447b306732954bbdcce728635a4ca5b002fd60aae21cc98dfbe4b01/airbrake-1.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eb636afd99d5b367abd21663f58d8b89", "sha256": "4edf225d4d94eb3bb0b70baaa47298899a2b635be2ea11c52ed70980c358ba99" }, "downloads": -1, "filename": "airbrake-1.2.0.tar.gz", "has_sig": false, "md5_digest": "eb636afd99d5b367abd21663f58d8b89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8727, "upload_time": "2016-01-08T21:48:52", "url": "https://files.pythonhosted.org/packages/3a/6f/ffaf7839c7884d5bcad3a0ea48221c11d1f7125f3aa1af1de7621f61d684/airbrake-1.2.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "04ba90ad8af1a57c9285ae2bc154eb72", "sha256": "8cfa302eeaa79ceee6db084247a72f5a2a3a858d90c8dd99be576d4563df4479" }, "downloads": -1, "filename": "airbrake-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "04ba90ad8af1a57c9285ae2bc154eb72", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 11767, "upload_time": "2016-01-08T22:00:40", "url": "https://files.pythonhosted.org/packages/f3/1a/7ced1911a8bea7f0ca957e664fb31cfb6092bd6ae75ae0e0c72a065aa353/airbrake-1.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "346b4f68fa8c07bc7ad5e0b6ac63e00b", "sha256": "e77d7f94756b043336ff12580d1234ab52dc14e8ded1154243245a03be6632f6" }, "downloads": -1, "filename": "airbrake-1.2.1.tar.gz", "has_sig": false, "md5_digest": "346b4f68fa8c07bc7ad5e0b6ac63e00b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8642, "upload_time": "2016-01-08T22:00:22", "url": "https://files.pythonhosted.org/packages/44/72/e94b7f05915f914c618fa60a60ed37cfeb2dbe6bf7ba8d98d225c18d88a5/airbrake-1.2.1.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "a81049eb001dcd614fe746048b2e5eb4", "sha256": "8a993d667297c40f2f868a38bd9c6dd1855cdde48d45fd38cd1fe2a4a89fec59" }, "downloads": -1, "filename": "airbrake-1.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "a81049eb001dcd614fe746048b2e5eb4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 10199, "upload_time": "2016-04-04T13:48:55", "url": "https://files.pythonhosted.org/packages/5a/26/e9a9f51dbcf2e2293880afb406cfbf22ee3ad5ed23ace250c7c66cb72205/airbrake-1.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4e68fcbf3b10956c3e5006de9d4320d9", "sha256": "f426b6169d9c0df662e79d2d433b7e5d654ea9afca410b8c0e56c50e10a113f7" }, "downloads": -1, "filename": "airbrake-1.3.1.tar.gz", "has_sig": false, "md5_digest": "4e68fcbf3b10956c3e5006de9d4320d9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7889, "upload_time": "2016-04-04T13:48:26", "url": "https://files.pythonhosted.org/packages/23/74/7e272b954e9d8b4e0673b8852163c055f9495f68e154f34dd5e8f3f5eb49/airbrake-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "21cac3b3fc00c7c0fcf67aed428be6b2", "sha256": "37c8cbaba84ba0eb73eb79072e1eb5fbf02080de16ada1bdbc97b8b38a166c72" }, "downloads": -1, "filename": "airbrake-1.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "21cac3b3fc00c7c0fcf67aed428be6b2", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 12248, "upload_time": "2016-04-13T17:25:57", "url": "https://files.pythonhosted.org/packages/32/11/65d29efa649a3c2f9d741ef5562b44db3454710a2690a111ffed86df3903/airbrake-1.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3091df19783a78929440c7b21021ba42", "sha256": "5a585b05951df6c718c933080be20a531d502966348c65e01c55ed4843dfc5a7" }, "downloads": -1, "filename": "airbrake-1.3.2.tar.gz", "has_sig": false, "md5_digest": "3091df19783a78929440c7b21021ba42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9030, "upload_time": "2016-04-13T17:25:52", "url": "https://files.pythonhosted.org/packages/dd/16/f7354a71099d5a319c63355ae5a9f67c2393b07cb7264db35089eb2d1d72/airbrake-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "b520143fa9e49c68fea70c716ad08c4c", "sha256": "769c6cffa195c947dc9d6caa36aeaa017c224f3e52e513068423d5b0583f00eb" }, "downloads": -1, "filename": "airbrake-1.3.3.tar.gz", "has_sig": false, "md5_digest": "b520143fa9e49c68fea70c716ad08c4c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9144, "upload_time": "2016-06-09T15:56:19", "url": "https://files.pythonhosted.org/packages/9b/15/4fdd12b92b088d08281d2bd5ca49e5453eba15a0e4663827c0f9610e0ca6/airbrake-1.3.3.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "384c41521cea43a067a58cd8c5d67506", "sha256": "84e3b1c6b71ddaee120f0a26681ec9c93ff24be26bf0378407d3d147418e289c" }, "downloads": -1, "filename": "airbrake-2.0.0.tar.gz", "has_sig": false, "md5_digest": "384c41521cea43a067a58cd8c5d67506", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12860, "upload_time": "2017-03-27T17:24:03", "url": "https://files.pythonhosted.org/packages/5d/dc/b853b65fc5d5ac2ebbbc109b49ce7bfaa0f1cc4a84ab24f36f67d19035e7/airbrake-2.0.0.tar.gz" } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "b81e66453f69653aacbeca776b7b820d", "sha256": "08f7d47d66b4d54f37f213daf216556c64fd953bcf4064b402ba3bb1a6fda6dc" }, "downloads": -1, "filename": "airbrake-2.1.0.tar.gz", "has_sig": false, "md5_digest": "b81e66453f69653aacbeca776b7b820d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13461, "upload_time": "2017-08-03T20:23:31", "url": "https://files.pythonhosted.org/packages/73/46/ee7a9c4af0cd639c77c71ac4b1b1d2d8da4de08126961369677434965d63/airbrake-2.1.0.tar.gz" } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "74675d1ca1e0408a9ad324c20bcecb74", "sha256": "20d17ed4609ac66ca27649dc965d393966c546a1978a72924b2b0efeb68073a3" }, "downloads": -1, "filename": "airbrake-2.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "74675d1ca1e0408a9ad324c20bcecb74", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 13011, "upload_time": "2019-03-05T07:04:35", "url": "https://files.pythonhosted.org/packages/2f/ec/2cf3994cf8bf6885ad4e692390f5929db4dc32872c261a3181a16357e7a5/airbrake-2.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "666f20d6de39bdb20f7ecbb3ae66a9fb", "sha256": "2d54f7c71d00ab79f8e0149ee00b0695b56370a7c496013e5dc38854e55f3782" }, "downloads": -1, "filename": "airbrake-2.1.1.tar.gz", "has_sig": false, "md5_digest": "666f20d6de39bdb20f7ecbb3ae66a9fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13027, "upload_time": "2019-03-05T07:04:37", "url": "https://files.pythonhosted.org/packages/66/c6/d8e31d32fbefe99f5b41c229b700ba9d1b84cde7f946a484d6caba40f510/airbrake-2.1.1.tar.gz" } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "6cfe82c59249193c984e668fde33abe5", "sha256": "6dcb77bdf8a2639c78762657c4f440ff4ee1c704a069a6b026fdbe4176823532" }, "downloads": -1, "filename": "airbrake-2.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6cfe82c59249193c984e668fde33abe5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14957, "upload_time": "2019-03-05T08:57:20", "url": "https://files.pythonhosted.org/packages/99/3a/4f42c0b8f57454d05f70a9c47e919ee8ea0a761176653ac5f050251e67a9/airbrake-2.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "195e144d59f8c7f177cb6a5e52ef4798", "sha256": "998a5563116d753e3531fa45889b940fe5ea9a8f8394a3e62e6455645ff0c416" }, "downloads": -1, "filename": "airbrake-2.1.2.tar.gz", "has_sig": false, "md5_digest": "195e144d59f8c7f177cb6a5e52ef4798", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16088, "upload_time": "2019-03-05T08:57:21", "url": "https://files.pythonhosted.org/packages/2f/25/6f282c750d6f016e49b07342b40209a06bbc0ec1611343b9c21d9cb0f787/airbrake-2.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6cfe82c59249193c984e668fde33abe5", "sha256": "6dcb77bdf8a2639c78762657c4f440ff4ee1c704a069a6b026fdbe4176823532" }, "downloads": -1, "filename": "airbrake-2.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6cfe82c59249193c984e668fde33abe5", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 14957, "upload_time": "2019-03-05T08:57:20", "url": "https://files.pythonhosted.org/packages/99/3a/4f42c0b8f57454d05f70a9c47e919ee8ea0a761176653ac5f050251e67a9/airbrake-2.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "195e144d59f8c7f177cb6a5e52ef4798", "sha256": "998a5563116d753e3531fa45889b940fe5ea9a8f8394a3e62e6455645ff0c416" }, "downloads": -1, "filename": "airbrake-2.1.2.tar.gz", "has_sig": false, "md5_digest": "195e144d59f8c7f177cb6a5e52ef4798", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16088, "upload_time": "2019-03-05T08:57:21", "url": "https://files.pythonhosted.org/packages/2f/25/6f282c750d6f016e49b07342b40209a06bbc0ec1611343b9c21d9cb0f787/airbrake-2.1.2.tar.gz" } ] }