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
File details
Details for the file error_manager-1.4.4.tar.gz
.
File metadata
- Download URL: error_manager-1.4.4.tar.gz
- Upload date:
- Size: 31.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7dde134f3f0306b51a26a6b73190be2477e1c4966733802f40cbe2306967514c |
|
MD5 | e6117b5d93f427fe8490dd40d49b6cdd |
|
BLAKE2b-256 | c7adab429bcb7e29585878b846dedb653488651139e0b3e1f947e584266619a6 |
File details
Details for the file error_manager-1.4.4-py3-none-any.whl
.
File metadata
- Download URL: error_manager-1.4.4-py3-none-any.whl
- Upload date:
- Size: 21.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3fa0e090dbb1871221ae11030a827f0d7e108a1e85fdfae4e5477de95405736d |
|
MD5 | a19b05defa407acc94d7706346643fe7 |
|
BLAKE2b-256 | e2369f250010f3fe18e56eac84d2e12fbdcdf47e39f8ee4d51e34484614d704b |