gufo-err


Namegufo-err JSON
Version 0.4.0 PyPI version JSON
download
home_page
Summary
upload_time2023-09-01 08:25:17
maintainer
docs_urlNone
authorGufo Labs
requires_python>=3.8
licenseBSD 3-Clause License
keywords error
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Gufo Err

*Gufo Err is the flexible and robust python error handling framework.*.

[![PyPi version](https://img.shields.io/pypi/v/gufo_err.svg)](https://pypi.python.org/pypi/gufo_loader/)
![Python Versions](https://img.shields.io/pypi/pyversions/gufo_err)
[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)
![Build](https://img.shields.io/github/actions/workflow/status/gufolabs/gufo_err/py-tests.yml?branch=master)
![Sponsors](https://img.shields.io/github/sponsors/gufolabs)
[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v0.json)](https://github.com/charliermarsh/ruff)
---

**Documentation**: [https://docs.gufolabs.com/gufo_err/](https://docs.gufolabs.com/gufo_err/)

**Source Code**: [https://github.com/gufolabs/gufo_err/](https://github.com/gufolabs/gufo_err/)

---

## Python Error Handling

Errors are in human nature - so any modern software may face errors. 
Software may contain errors itself, may be affected 
by third-party libraries' mistakes, or may weirdly use 
third-party libraries. Computers, operation systems, and networks also may fail. 
So proper error handling is the key component to building reliable and robust software.

Proper error handling consists of the stages:

* **Collecting** - we must catch the error for further processing.
* **Reporting** - we must log the error.
* **Mitigation** - we must restart software if an error is unrecoverable  (fail-fast behavior) or try to fix it on-fly.
* **Reporting** - we must report the error to the developers to allow them to fix it.
* **Fixing** - developers should fix the error.

Gufo Err is the final solution for Python exception handling and introduces the middleware-based approach. Middleware uses clean API for stack frame analysis and source code extraction.

## Virtues

* Clean API to extract execution frames.
* Global Python exception hook.
* Endless recursion detection  (to be done).
* Local error reporting.
* Configurable fail-fast behavior.
* Configurable error-reporting formats.
* Error fingerprinting.
* Traceback serialization.
* CLI tool for tracebacks analysis.
* Seamless [Sentry][Sentry] integration.

## On Gufo Stack

This product is a part of [Gufo Stack][Gufo Stack] - the collaborative effort 
led by [Gufo Labs][Gufo Labs]. Our goal is to create a robust and flexible 
set of tools to create network management software and automate 
routine administration tasks.

To do this, we extract the key technologies that have proven themselves 
in the [NOC][NOC] and bring them as separate packages. Then we work on API,
performance tuning, documentation, and testing. The [NOC][NOC] uses the final result
as the external dependencies.

[Gufo Stack][Gufo Stack] makes the [NOC][NOC] better, and this is our primary task. But other products
can benefit from [Gufo Stack][Gufo Stack] too. So we believe that our effort will make 
the other network management products better.

[Gufo Labs]: https://gufolabs.com/
[Gufo Stack]: https://gufolabs.com/products/gufo-stack/
[NOC]: https://getnoc.com/
[Sentry]: https://sentry.io/

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "gufo-err",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "",
    "keywords": "error",
    "author": "Gufo Labs",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/72/bf/65206003373dd0bed734d0d919be18316e5c6023455c788a724a8da7e13e/gufo_err-0.4.0.tar.gz",
    "platform": null,
    "description": "# Gufo Err\n\n*Gufo Err is the flexible and robust python error handling framework.*.\n\n[![PyPi version](https://img.shields.io/pypi/v/gufo_err.svg)](https://pypi.python.org/pypi/gufo_loader/)\n![Python Versions](https://img.shields.io/pypi/pyversions/gufo_err)\n[![License](https://img.shields.io/badge/License-BSD_3--Clause-blue.svg)](https://opensource.org/licenses/BSD-3-Clause)\n![Build](https://img.shields.io/github/actions/workflow/status/gufolabs/gufo_err/py-tests.yml?branch=master)\n![Sponsors](https://img.shields.io/github/sponsors/gufolabs)\n[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v0.json)](https://github.com/charliermarsh/ruff)\n---\n\n**Documentation**: [https://docs.gufolabs.com/gufo_err/](https://docs.gufolabs.com/gufo_err/)\n\n**Source Code**: [https://github.com/gufolabs/gufo_err/](https://github.com/gufolabs/gufo_err/)\n\n---\n\n## Python Error Handling\n\nErrors are in human nature - so any modern software may face errors. \nSoftware may contain errors itself, may be affected \nby third-party libraries' mistakes, or may weirdly use \nthird-party libraries. Computers, operation systems, and networks also may fail. \nSo proper error handling is the key component to building reliable and robust software.\n\nProper error handling consists of the stages:\n\n* **Collecting** - we must catch the error for further processing.\n* **Reporting** - we must log the error.\n* **Mitigation** - we must restart software if an error is unrecoverable  (fail-fast behavior) or try to fix it on-fly.\n* **Reporting** - we must report the error to the developers to allow them to fix it.\n* **Fixing** - developers should fix the error.\n\nGufo Err is the final solution for Python exception handling and introduces the middleware-based approach. Middleware uses clean API for stack frame analysis and source code extraction.\n\n## Virtues\n\n* Clean API to extract execution frames.\n* Global Python exception hook.\n* Endless recursion detection  (to be done).\n* Local error reporting.\n* Configurable fail-fast behavior.\n* Configurable error-reporting formats.\n* Error fingerprinting.\n* Traceback serialization.\n* CLI tool for tracebacks analysis.\n* Seamless [Sentry][Sentry] integration.\n\n## On Gufo Stack\n\nThis product is a part of [Gufo Stack][Gufo Stack] - the collaborative effort \nled by [Gufo Labs][Gufo Labs]. Our goal is to create a robust and flexible \nset of tools to create network management software and automate \nroutine administration tasks.\n\nTo do this, we extract the key technologies that have proven themselves \nin the [NOC][NOC] and bring them as separate packages. Then we work on API,\nperformance tuning, documentation, and testing. The [NOC][NOC] uses the final result\nas the external dependencies.\n\n[Gufo Stack][Gufo Stack] makes the [NOC][NOC] better, and this is our primary task. But other products\ncan benefit from [Gufo Stack][Gufo Stack] too. So we believe that our effort will make \nthe other network management products better.\n\n[Gufo Labs]: https://gufolabs.com/\n[Gufo Stack]: https://gufolabs.com/products/gufo-stack/\n[NOC]: https://getnoc.com/\n[Sentry]: https://sentry.io/\n",
    "bugtrack_url": null,
    "license": "BSD 3-Clause License",
    "summary": "",
    "version": "0.4.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/gufolabs/gufo_err/issues",
        "Changelog": "https://github.com/gufolabs/gufo_err/blob/master/CHANGELOG.md",
        "Documentation": "https://docs.gufolabs.com/gufo_err/",
        "Homepage": "https://github.com/gufolabs/gufo_err/",
        "Source Code": "https://github.com/gufolabs/gufo_err/"
    },
    "split_keywords": [
        "error"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "317f4da019aa916f94e2b14f43c676aa10e702c88c8301165b517c8ae3a980a9",
                "md5": "ea0242e33ea1411325ff47fb4bbe32b5",
                "sha256": "aa5c1cfdec63fe83120725e193acb763ce778ff28c72c6048e9a57c835f493dd"
            },
            "downloads": -1,
            "filename": "gufo_err-0.4.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "ea0242e33ea1411325ff47fb4bbe32b5",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 32789,
            "upload_time": "2023-09-01T08:25:16",
            "upload_time_iso_8601": "2023-09-01T08:25:16.551300Z",
            "url": "https://files.pythonhosted.org/packages/31/7f/4da019aa916f94e2b14f43c676aa10e702c88c8301165b517c8ae3a980a9/gufo_err-0.4.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "72bf65206003373dd0bed734d0d919be18316e5c6023455c788a724a8da7e13e",
                "md5": "49088654680acd442c836295bd220d29",
                "sha256": "9ef0f62507242d6e03b46a211fdd31bcc95d63ee05dfeac332f8207adafdbdcc"
            },
            "downloads": -1,
            "filename": "gufo_err-0.4.0.tar.gz",
            "has_sig": false,
            "md5_digest": "49088654680acd442c836295bd220d29",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 37819,
            "upload_time": "2023-09-01T08:25:17",
            "upload_time_iso_8601": "2023-09-01T08:25:17.671420Z",
            "url": "https://files.pythonhosted.org/packages/72/bf/65206003373dd0bed734d0d919be18316e5c6023455c788a724a8da7e13e/gufo_err-0.4.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-01 08:25:17",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "gufolabs",
    "github_project": "gufo_err",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "gufo-err"
}
        
Elapsed time: 0.11681s