为napari启用自动错误/故障报告
项目描述
🐛 napari-error-reporter
想要帮助napari?安装此插件!
此插件会在使用napari时遇到异常时自动发送错误报告到napari(通过sentry.io)。
安装此插件后首次运行napari时将出现一个启用通知(请务必点击“是”,否则不会收集或发送报告)。您可以在napari的帮助菜单中随时选择退出。
已尽力删除这些报告中包含的个人信息。以下是一个示例异常事件
示例错误报告
{
'breadcrumbs': {
'values': [
{
'category': 'subprocess',
'data': {},
'message': 'sw_vers -productVersion',
'timestamp': '2022-02-02T01:30:00.216738Z',
'type': 'subprocess'
}
]
},
'contexts': {
'runtime': {
'build': '3.9.9 | packaged by conda-forge | (main, Dec 20 2021, 02:41:37) \n[Clang 11.1.0 ]',
'name': 'CPython',
'version': '3.9.9'
}
},
'environment': 'macOS-10.15.7-x86_64-i386-64bit',
'event_id': '02dd8ddd3a4b4743af3d7d7a09949df4',
'exception': {
'values': [
{
'mechanism': None,
'module': None,
'stacktrace': {
'frames': [
{
'context_line': ' x = 1 / 0',
'filename': 'napari_error_reporter/_util.py',
'function': 'get_sample_event',
'in_app': True,
'lineno': 130,
'module': 'napari_error_reporter._util',
'post_context': [
' except Exception:',
' with sentry_sdk.push_scope() as scope:',
' for k, v in _get_tags().items():',
' scope.set_tag(k, v)',
' del v, k, scope'
],
'pre_context': [
" # remove locals that wouldn't really be there",
' del settings, _trans, kwargs, client, EVENT',
' try:',
' some_variable = 1',
' another_variable = "my_string"'
]
}
]
},
'type': 'ZeroDivisionError',
'value': 'division by zero'
}
]
},
'extra': {'sys.argv': ['napari']},
'level': 'error',
'modules': {
'aicsimageio': '4.5.2',
'aicspylibczi': '3.0.4',
'aiohttp': '3.8.1',
'aiosignal': '1.2.0',
'alabaster': '0.7.12',
'anyio': '3.5.0',
'appdirs': '1.4.4',
'appnope': '0.1.2',
'argon2-cffi': '21.3.0',
'argon2-cffi-bindings': '21.2.0',
'arrow': '1.2.1',
'asciitree': '0.3.3',
'asttokens': '2.0.5',
'async-timeout': '4.0.2',
'atomium': '1.0.11',
'attrs': '21.4.0',
'autopep8': '1.6.0',
'babel': '2.9.1',
'backcall': '0.2.0',
'bcrypt': '3.2.0',
'beautifulsoup4': '4.10.0',
'binaryornot': '0.4.4',
'black': '20.8b1',
'bleach': '4.1.0',
'bracex': '2.2.1',
'build': '0.7.0',
'cachey': '0.2.1',
'cellpose': '0.6.5',
'certifi': '2021.10.8',
'cffi': '1.15.0',
'cfgv': '3.3.1',
'chardet': '4.0.0',
'charset-normalizer': '2.0.10',
'check-manifest': '0.47',
'click': '7.1.2',
'click-option-group': '0.5.3',
'cloudpickle': '2.0.0',
'colorama': '0.4.4',
'commonmark': '0.9.1',
'cookiecutter': '1.7.3',
'coverage': '6.2',
'cryptography': '36.0.1',
'cycler': '0.11.0',
'dask': '2022.1.0',
'debugpy': '1.5.1',
'decorator': '5.1.1',
'defusedxml': '0.7.1',
'distlib': '0.3.4',
'dnspython': '2.2.0',
'docstring-parser': '0.13',
'docutils': '0.16',
'elementpath': '2.4.0',
'email-validator': '1.1.3',
'entrypoints': '0.3',
'executing': '0.8.2',
'fancycompleter': '0.9.1',
'fasteners': '0.17.2',
'fastremap': '1.12.2',
'filelock': '3.4.2',
'flake8': '3.8.4',
'fonttools': '4.28.5',
'freetype-py': '2.2.0',
'frozenlist': '1.3.0',
'fsspec': '2022.1.0',
'furo': '2022.1.2',
'gitdb': '4.0.9',
'gitpython': '3.1.26',
'greenlet': '1.1.2',
'heapdict': '1.0.1',
'hsluv': '5.0.2',
'hypothesis': '6.35.1',
'identify': '2.4.4',
'idna': '3.3',
'imagecodecs': '2021.11.20',
'imageio': '2.10.5',
'imageio-ffmpeg': '0.4.5',
'imagesize': '1.3.0',
'importlib-metadata': '4.10.1',
'iniconfig': '1.1.1',
'install': '1.3.5',
'intervaltree': '3.1.0',
'ipykernel': '6.7.0',
'ipython': '8.0.0',
'ipython-genutils': '0.2.0',
'ipywidgets': '7.6.5',
'jedi': '0.18.1',
'jinja2': '3.0.3',
'jinja2-time': '0.2.0',
'jsonschema': '3.2.0',
'jupyter': '1.0.0',
'jupyter-book': '0.12.1',
'jupyter-cache': '0.4.3',
'jupyter-client': '7.1.1',
'jupyter-console': '6.4.0',
'jupyter-core': '4.9.1',
'jupyter-server': '1.13.3',
'jupyter-server-mathjax': '0.2.3',
'jupyter-sphinx': '0.3.2',
'jupyterlab-pygments': '0.1.2',
'jupyterlab-widgets': '1.0.2',
'jupytext': '1.11.5',
'kiwisolver': '1.3.2',
'latexcodec': '2.0.1',
'linkify-it-py': '1.0.3',
'llvmlite': '0.38.0',
'locket': '0.2.1',
'loguru': '0.5.3',
'lxml': '4.7.1',
'magicgui': '0.3.5.dev18+g78d1687',
'markdown-it-py': '1.1.0',
'markupsafe': '2.0.1',
'matplotlib': '3.5.1',
'matplotlib-inline': '0.1.3',
'mccabe': '0.6.1',
'mdit-py-plugins': '0.2.8',
'meshzoo': '0.9.2',
'mistune': '0.8.4',
'mrc': '0.2.0',
'msgpack': '1.0.3',
'multidict': '5.2.0',
'mypy': '0.931',
'mypy-extensions': '0.4.3',
'myst-nb': '0.13.1',
'myst-parser': '0.15.2',
'napari': '0.4.14rc1.dev4+gcdf58d44b',
'napari-aicsimageio': '0.4.1',
'napari-console': '0.0.4',
'napari-dv': '0.2.7.dev0+g54e1691.d20220128',
'napari-error-reporter': '0.1.dev1+g1b388f2.d20220201',
'napari-hello': '0.0.1',
'napari-math': '0.0.1a0',
'napari-micromanager': '0.0.1rc6.dev14+g5149788.d20220128',
'napari-molecule-reader': '0.1.2.dev1+gc2ec2de',
'napari-plugin-engine': '0.2.0',
'napari-pyclesperanto-assistant': '0.12.0',
'napari-skimage-regionprops': '0.2.9',
'napari-svg': '0.1.6',
'napari-time-slicer': '0.4.2',
'napari-workflows': '0.1.2',
'natsort': '8.0.2',
'nbclient': '0.5.10',
'nbconvert': '6.4.0',
'nbdime': '3.1.1',
'nbformat': '5.1.3',
'nd2': '0.1.4',
'nest-asyncio': '1.5.4',
'networkx': '2.6.3',
'nodeenv': '1.6.0',
'notebook': '6.4.7',
'npe2': '0.1.1',
'numba': '0.55.0',
'numcodecs': '0.9.1',
'numpy': '1.20.3',
'numpydoc': '1.1.0',
'ome-types': '0.2.10',
'opencv-python-headless': '4.5.5.62',
'packaging': '21.3',
'pandas': '1.3.5',
'pandocfilters': '1.5.0',
'paramiko': '2.9.2',
'parso': '0.8.3',
'partd': '1.2.0',
'pathspec': '0.9.0',
'pdbpp': '0.10.3',
'peewee': '3.14.8',
'pep517': '0.12.0',
'pexpect': '4.8.0',
'pickleshare': '0.7.5',
'pillow': '8.4.0',
'pint': '0.18',
'pip': '21.3.1',
'platformdirs': '2.4.1',
'pluggy': '1.0.0',
'pooch': '1.5.2',
'poyo': '0.5.0',
'pre-commit': '2.16.0',
'prometheus-client': '0.12.0',
'prompt-toolkit': '3.0.24',
'psutil': '5.9.0',
'psygnal': '0.2.0',
'ptyprocess': '0.7.0',
'pure-eval': '0.2.1',
'py': '1.11.0',
'pybtex': '0.24.0',
'pybtex-docutils': '1.0.1',
'pyclesperanto-prototype': '0.12.0',
'pycodestyle': '2.8.0',
'pycparser': '2.21',
'pydantic': '1.9.0',
'pydata-sphinx-theme': '0.7.2',
'pyflakes': '2.2.0',
'pygments': '2.11.2',
'pymmcore': '10.1.1.70.5',
'pymmcore-plus': '0.1.8',
'pynacl': '1.5.0',
'pyopencl': '2021.2.13',
'pyopengl': '3.1.5',
'pyparsing': '3.0.6',
'pyperclip': '1.8.2',
'pyrepl': '0.9.0',
'pyro5': '5.13.1',
'pyrsistent': '0.18.1',
'pyside2': '5.15.2.1',
'pytest': '6.2.5',
'pytest-cookies': '0.6.1',
'pytest-cov': '3.0.0',
'pytest-faulthandler': '2.0.1',
'pytest-order': '1.0.1',
'pytest-qt': '4.0.2',
'python-dateutil': '2.8.2',
'python-dotenv': '0.19.2',
'python-slugify': '5.0.2',
'pytomlpp': '1.0.10',
'pytools': '2021.2.9',
'pytz': '2021.3',
'pywavelets': '1.2.0',
'pyyaml': '6.0',
'pyzmq': '22.3.0',
'qtconsole': '5.2.2',
'qtpy': '2.0.0',
'regex': '2021.11.10',
'requests': '2.27.1',
'rich': '11.0.0',
'rmsd': '1.4',
'ruamel.yaml': '0.17.20',
'ruamel.yaml.clib': '0.2.6',
'scikit-image': '0.19.1',
'scipy': '1.7.3',
'semgrep': '0.78.0',
'send2trash': '1.8.0',
'sentry-sdk': '1.5.4',
'serpent': '1.40',
'setuptools': '60.5.0',
'shiboken2': '5.15.2.1',
'six': '1.16.0',
'smmap': '5.0.0',
'sniffio': '1.2.0',
'snowballstemmer': '2.2.0',
'sortedcontainers': '2.4.0',
'soupsieve': '2.3.1',
'sourcery-cli': '0.10.0',
'sphinx': '4.4.0',
'sphinx-autodoc-typehints': '1.12.0',
'sphinx-book-theme': '0.1.10',
'sphinx-comments': '0.0.3',
'sphinx-copybutton': '0.4.0',
'sphinx-external-toc': '0.2.3',
'sphinx-jupyterbook-latex': '0.4.6',
'sphinx-multitoc-numbering': '0.1.3',
'sphinx-panels': '0.6.0',
'sphinx-tabs': '3.2.0',
'sphinx-thebe': '0.0.10',
'sphinx-togglebutton': '0.2.3',
'sphinxcontrib-applehelp': '1.0.2',
'sphinxcontrib-bibtex': '2.2.1',
'sphinxcontrib-devhelp': '1.0.2',
'sphinxcontrib-htmlhelp': '2.0.0',
'sphinxcontrib-jsmath': '1.0.1',
'sphinxcontrib-qthelp': '1.0.3',
'sphinxcontrib-serializinghtml': '1.1.5',
'sqlalchemy': '1.4.29',
'stack-data': '0.1.4',
'superqt': '0.2.5.post2.dev7+ga49bcd7',
'tensorstore': '0.1.16',
'terminado': '0.12.1',
'testpath': '0.5.0',
'text-unidecode': '1.3',
'tifffile': '2021.11.2',
'toml': '0.10.2',
'tomli': '2.0.0',
'toolz': '0.11.2',
'torch': '1.10.1',
'tornado': '6.1',
'tox': '3.24.5',
'tox-conda': '0.9.1',
'tqdm': '4.62.3',
'traitlets': '5.1.1',
'transforms3d': '0.3.1',
'transitions': '0.8.10',
'typed-ast': '1.5.1',
'typer': '0.4.0',
'typing-extensions': '4.0.1',
'uc-micro-py': '1.0.1',
'urllib3': '1.26.8',
'useq-schema': '0.1.1.dev13+g01d1b46.d20220120',
'valerius': '0.2.0',
'virtualenv': '20.13.0',
'vispy': '0.9.4',
'watchdog': '2.1.6',
'wcmatch': '8.3',
'wcwidth': '0.2.5',
'webencodings': '0.5.1',
'websocket-client': '1.2.3',
'wheel': '0.37.1',
'widgetsnbextension': '3.5.2',
'wmctrl': '0.4',
'wrapt': '1.13.3',
'wurlitzer': '3.0.2',
'xarray': '0.20.2',
'xmlschema': '1.9.2',
'yarl': '1.7.2',
'zarr': '2.10.3',
'zipp': '3.7.0'
},
'platform': 'python',
'release': '0.4.14rc1.dev4+gcdf58d44b',
'sdk': {
'integrations': [
'aiohttp',
'argv',
'atexit',
'dedupe',
'excepthook',
'logging',
'modules',
'sqlalchemy',
'stdlib',
'threading',
'tornado'
],
'name': 'sentry.python',
'packages': [{'name': 'pypi:sentry-sdk', 'version': '1.5.4'}],
'version': '1.5.4'
},
'server_name': '',
'tags': {
'platform.name': 'MacOS 10.15.7',
'platform.system': 'Darwin',
'qtpy.API_NAME': 'PySide2',
'qtpy.QT_VERSION': '5.15.2'
},
'timestamp': '2022-02-02T01:30:00.229122Z'
}
注意:在启用对话框中,有一个标记为“包含本地变量”的复选框,勾选此选项将在异常发生时包含局部作用域中变量的值。虽然这些在解释错误报告时非常有用,但它们有时可能包含局部文件路径字符串。如果您担心这一点,请取消选中此框。
安装
此插件需要napari版本0.4.15或更高版本,或者具有PR napari/napari#4055的main
分支。
使用pip通过以下方式安装
pip install napari-error-reporter
或在内置插件安装程序中(需要重启)
谢谢!!
隐私常见问题解答
即使在多重启用选项和尝试在发送报告之前删除所有个人信息的情况下,我们理解隐私始终是一个担忧。
您是否收集个人信息?
我们尽力不收集任何可以识别个人身份的信息。不收集姓名、位置、IP地址等。我们只收集您的(uuid.getnode()
)以能够追踪随着时间的推移的故障解决情况。如上所述,允许收集局部变量有时可能包括日志中的文件路径。如果您对此感到担忧,请保持未选中。
这是否随napari一起发货?
napari-error-reporter
并非与napari捆绑在一起,也没有列为napari的依赖项。为了发送报告,您必须首先自行安装此插件,然后在下一次启动时选择加入。如果您卸载了插件,则无法再发送报告。
谁可以访问这些报告?
只有以下napari核心开发者有权访问这些报告。如果此列表在未来发生变化,您将被要求在napari中再次选择加入。
- Juan Nunez-Iglesias (@jni)
- Talley Lambert (@tlambert03)
此插件与Chan Zuckerberg Initiative无关.
这些报告将如何使用?
常见错误将被手动删除文件路径和局部变量,并发布到https://github.com/napari/napari/issues
数据保留多长时间?
Sentry默认保留事件数据90天。有关完整详细信息,请参阅Sentry关于安全与合规性的页面。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
napari_error_reporter-0.3.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7c499f526570762630daa1c87d863ecc5265621765c5b6e3f0bdbc271e774d53 |
|
MD5 | 15237fce7e3850e13fc65ed05dcfa379 |
|
BLAKE2b-256 | fd920b4e925a98691932c7e4a9785ac9eeec69fdc7482fc527f33285de9f7486 |
napari_error_reporter-0.3.1-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bcbae4576bfce2ee04060b992ed9d365c66b08ce4d1f37987296ff203d3b7a0b |
|
MD5 | 934e4a2545ee7d834056b884ae5accab |
|
BLAKE2b-256 | 192740eb9a396c185dfc08733f3c4cadfbd4bde4a1f32e17b3fb10f0eaf2edb4 |