A crash report framework for PyQt/PySide applications
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
examples
forms
qcrash
scripts
tests
.coveragerc
.gitignore
.travis.yml
CONTRIBUTING.rst
LICENSE
README.rst
changelog.rst
conftest.py
pytest.ini
pyuic.json
requirements.txt
setup.cfg
setup.py

README.rst

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