qcrash

A crash report framework for PyQt/PySide applications


Keywords
Github, PyQt4, PyQt5, PySide, Issue, Report, Crash, Tool
License
MIT
Install
pip install qcrash==0.2.0

Documentation

About

Latest PyPI version Number of PyPI downloads

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