Skip to main content

Manage error codes, descriptions and data in a unified way throughout a project

Project description

============= Error Manager

A lightweight implementation of a manager for error messages throughout your project. Allows you to easily define and register error codes and messages. Enable easy access to a single list of registerd error codes and messages throughout your project.

.. start-badges

.. list-table:: :widths: 8 50 :stub-columns: 1

* - docs
  - |docs|
* - tests
  - |travis| |requires| |codecov|
* - package
  - |version| |wheel| |supported-versions| |commits-since|

.. |docs| image:: https://readthedocs.org/projects/errors/badge/?style=flat :target: https://errors.readthedocs.io/ :alt: Documentation Status

.. |travis| image:: https://api.travis-ci.com/MaartendeRuyter/errors.svg?branch=master :alt: Travis-CI Build Status :target: https://travis-ci.com/github/MaartendeRuyter/errors

.. |requires| image:: https://requires.io/github/MaartendeRuyter/errors/requirements.svg?branch=master :alt: Requirements Status :target: https://requires.io/github/MaartendeRuyter/errors/requirements/?branch=master

.. |codecov| image:: https://codecov.io/gh/MaartendeRuyter/errors/branch/master/graphs/badge.svg?branch=master :alt: Coverage Status :target: https://codecov.io/github/MaartendeRuyter/errors

.. |version| image:: https://img.shields.io/pypi/v/error-manager.svg :alt: PyPI Package latest release :target: https://pypi.org/project/error-manager

.. |wheel| image:: https://img.shields.io/pypi/wheel/error-manager.svg :alt: PyPI Wheel :target: https://pypi.org/project/error-manager

.. |supported-versions| image:: https://img.shields.io/pypi/pyversions/error-manager.svg :alt: Supported versions :target: https://pypi.org/project/error-manager

.. |commits-since| image:: https://img.shields.io/github/commits-since/MaartendeRuyter/errors/v0.1.0.svg :alt: Commits since latest release :target: https://github.com/MaartendeRuyter/errors/compare/v0.1.0...master

.. end-badges

  • Free software: GNU Lesser General Public License v3 or later (LGPLv3+)

Installation

::

pip install error-manager

You can also install the in-development version with::

pip install https://github.com/MaartendeRuyter/errors/archive/master.zip

Main usecases

Error manager provides you with a ListErrors class to retrieve your custom error codes and descriptions throughout your project::

# retrieve customer defined ErrorCode object form ``ListErrors`` class
>>> from errors import ListErrors
>>> error = ListErrors.COULD_NOT_FIND_ERROR_CODE
>>> error
ErrorCode(code='ER_GETERROR_00001', description='Could not find requested 
error code', error_data=<class 'dict'>)

# add custom error data to error message when you want to persist or log
# the error
>>> from errors import add_error_data   
>>> error_with_data = add_error_data(error, {'key': 'Example error data'})
>>> error_with_data 
ErrorCode(code='ER_GETERROR_00001', description='Could not find requested error code', error_data={'key': 'Example error data'})

Documentation

https://errors.readthedocs.io/

Changelog

1.3.2 (2023-10-23)

  • Added support for python 3.12

1.3.1 (2023-10-20)

  • Refactored setup.cfg and pyproject.toml

1.3.0 (2022-11-01)

  • Added type annotations

1.2.4 (2022-10-26)

  • Added support for python 3.11

1.2.2 (2022-05-09)

  • Added ReturnValueWithErrorStatus to init for easy import.

1.2.1 (2022-05-08)

  • Added a class ReturnValueWithErrorStatus to easily create ReturnValueWithStatus with a error attached to it.

1.2.0 (2022-05-06)

  • Added a dataclass ReturnValueWithStatus to allow consuming classes and methods to return a single return type with result, status and errors collected in one Object

1.1.1 (2021-11-06)

  • Import ListErrors, ErrorCode, add_error_data() and is_error() in errors __init__.py so that they can be directly imported from errors module

1.1.0 (2021-11-05)

  • Added is_error method to check if an object is an instance of (sub)class ErrorCode

1.0.0 (2021-10-12)

  • Added Documentation and removed more default but redundant Documentation
  • Added reference documentation for ListErrors and base module

0.9.0 (2021-10-11)

  • added error codes as attribut to ListErrors class. After registration of an ErrorCode the errorcode is accessible in ListErrors via::

    ListErrors.ERROR_CODE_KEY
    
  • Added Documentation and removed default redundant Documentation

0.1.0 (2021-10-08)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

error-manager-1.3.3.tar.gz (30.2 kB view hashes)

Uploaded Source

Built Distribution

error_manager-1.3.3-py3-none-any.whl (21.7 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page