All Projects → ColinDuquesnoy → QCrash

ColinDuquesnoy / QCrash

Licence: MIT license
A crash report framework for PyQt/PySide applications

Programming Languages

python
139335 projects - #7 most used programming language

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('[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.

Dependencies

Testing

To run the tests, just run the following command:

python setup.py test
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].