Python errors Catcher module for Hawk.so.
Usage
Register an account and get a new project token.
If you want to connect specific frameworks see Flask integration, FastAPI integration.
Install module
Install hawk-python-sdk from PyPI.
$ pip install hawk-python-sdk
Import Catcher module to your project.
from hawk_python_sdk import Hawk
Then enable Hawk Catcher with your token and domain.
hawk = Hawk( "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwcm9qZWN0SWQiOiI1ZTZmNWM3NzAzOWI0MDAwMjNmZDViODAiLCJpYXQiOjE1ODQzNTY0NzF9.t-5Gelx3MgHVBrxTsoMyPQAdQ6ufVbPsts9zZLW3gM8")
Now all global errors would be sent to Hawk.
Try-except
If you want to catch errors in try-except blocks then use hawk.catch() in except:
try: ... except: hawk.send()
Manual sending
You can also pass event to the hawk.send() call, for example:
try: ... except: hawk.send(ValueError("error description"))
Event context
It is possible to pass additional event context for debugging purposes:
try: ... except: hawk.send(ValueError("error description"), {"params": "value"})
Affected user
You can also pass user, who affected with specific error:
try: ... except: hawk.send(ValueError("error description"), {"params": "value"}, {"id": 123})
Init params
To init Hawk Catcher just pass a project token.
hawk = Hawk('1234567-abcd-8901-efgh-123456789012')
Additional params
If you need to use custom Hawk server then pass a dictionary with params.
hawk = Hawk({ 'token': '1234567-abcd-8901-efgh-123456789012', 'collector_endpoint': 'https://<id>.k1.hawk.so', })
Parameters:
| name | type | required | description |
|---|---|---|---|
token |
str | required | Your project's Integration Token |
release |
str | optional | Release name for Suspected Commits feature |
collector_endpoint |
string | optional | Collector endpoint for sending event to |
context |
dict | optional | Additional context to be send with every event |
before_send |
Callable[[dict], None] | optional | This Method allows you to filter any data you don't want sending to Hawk |
Requirements
- Python >= 3.10
- requests
Links
Repository: https://github.com/codex-team/hawk.python
Report a bug: https://github.com/codex-team/hawk.python/issues
PyPI Package: https://pypi.python.org/pypi/hawk-python-sdk
CodeX Team: https://codex.so/