Skip to main content

A crash report framework for PyQt/PySide applications

Project description

About

Latest PyPI version Number of PyPI downloads https://img.shields.io/pypi/l/qcrash.svg API Coverage Travis-CI Build Status

A PyQt/PySide framework for reporting application crash (unhandled exception) and/or let the user report an issue/feature request.

Features

  • 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

Screenshots taken on KDE Plasma 5

  • Report dialog

https://raw.githubusercontent.com/ColinDuquesnoy/QCrash/master/docs/_static/qcrash_report.png
  • Review report before submitting

https://raw.githubusercontent.com/ColinDuquesnoy/QCrash/master/docs/_static/qcrash_review.png
  • Github integration

https://github.com/ColinDuquesnoy/QCrash/blob/master/docs/_static/qcrash_github_login.png

LICENSE

QCrash is licensed under the MIT license.

Installation

pip install qcrash

Usage

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('colin.duquesnoy@gmail.com')
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.

Dependencies

Testing

To run the tests, just run the following command:

python setup.py test

Supported by

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