A PyQt/PySide framework for reporting application crash (unhandled exception) and/or let the user report an issue/feature request.
- multiple builtin backends for reporting bugs:
- github_backend: let you create issues on github
- email_backend: let you send an email with the crash report.
- highly configurable, you can create your own backend, set your own formatter,...
- a thread safe exception hook mechanism with a way to setup your own function
Screenshots taken on KDE Plasma 5
- Report dialog
- Review report before submitting
- Github integration
QCrash is licensed under the MIT license.
pip install qcrash
Basic usage:
import qcrash.api as qcrash
# setup our own function to collect system info and application log
qcrash.get_application_log = my_app.get_application_log
qcrash.get_system_information = my_app.get_system_info
# configure backends
github = qcrash.backends.GithubBackend('ColinDuquesnoy', 'QCrash')
email = qcrash.backends.EmailBackend('[email protected]')
qcrash.install_backend([github, email])
# install exception hook
qcrash.install_except_hook()
# or show the report dialog manually
qcrash.show_report_dialog()
Some more detailed examples are available. Also have a look at the API documentation.
To run the tests, just run the following command:
python setup.py test