Manage error codes, descriptions and data in a unified way throughout a project
Project description
Managing error codes throughout you project
Error-manager is a simple library for Python to manage all your projects error codes.
docs |
|
---|---|
tests |
|
package |
error-manager main use cases
Main use case for the error-manager package is to implement a ListErrors class that can be used throughout your project to define and access immutable standard error codes and descriptions
# retrieve customer defined ErrorCode object form ``ListErrors`` class >>> from errors.error import ListErrors >>> ListErrors.API_GET_RETURNED_404 ErrorCode( code='ER_API404_00001', description='API get request returned 404', error_data={}) # add custom error data to error message when you want to persist or log the error # As the errorcode are immutable the add_error_data returns a new error (immutable) error code. >>> from errors.base import add_error_data >>> error_without_data = ListErrors.API_GET_RETURNED_404 >>> error_with_data = add_error_data(error_without_data, {'url': 'www.bad_url.com'}) >>> error_with_data ErrorCode( code='ER_API404_00001', description='API get request returned 404', error_data={'url': 'www.bad_url.com'})
This ErrorCode could be returned by the method performing the request so that the logic calling this method is aware of the failing request.
In order to use a single type as return value the error-manager package introduces a ReturnValue class that can hold the actual response, any possible downstream errors and the status of the return value. See ReturnValue documentation.
Documentation
Changelog
1.4.4 (2024-05-23)
Added typevar for ReturnValueWithStatus result attribute
1.4.0 (2024-05-23)
Added ErrorListByMixin class to support autocompletion and type checking of your custom project errors
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for error_manager-1.4.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fa0e090dbb1871221ae11030a827f0d7e108a1e85fdfae4e5477de95405736d |
|
MD5 | a19b05defa407acc94d7706346643fe7 |
|
BLAKE2b-256 | e2369f250010f3fe18e56eac84d2e12fbdcdf47e39f8ee4d51e34484614d704b |