
[](https://pypi.python.org/pypi/essentials)
[](https://github.com/Neoteroi/essentials)
[](https://github.com/Neoteroi/essentials/blob/master/LICENSE)
[](https://codecov.io/gh/Neoteroi/essentials)
# Essentials
Core classes and functions, reusable in any kind of Python application.
```bash
$ pip install essentials
```
**Features:**
* [exception classes to express common scenarios](https://github.com/Neoteroi/essentials/wiki/Common-exceptions)
* [friendly JSON encoder](https://github.com/Neoteroi/essentials/wiki/User-friendly-JSON-dumps), handling `datetime`, `date`, `time`, `UUID`, `bytes`, built-in enums, and instances of classes implementing a `dict()` method, like [pydantic BaseModel](https://pydantic-docs.helpmanual.io)
* utilities to work with `folders` and paths
* [`StopWatch` implementation](https://github.com/Neoteroi/essentials/wiki/StopWatch-implementation)
* [a base class to handle classes that can be instantiated from configuration dictionaries](https://github.com/Neoteroi/essentials/wiki/Registry)
* [common decorator to support retries](https://github.com/Neoteroi/essentials/wiki/Retry-decorator)
* [common decorator to support logging function calls](https://github.com/Neoteroi/essentials/wiki/Logs-decorator)
* [common decorator to control raised exceptions](https://github.com/Neoteroi/essentials/wiki/Exception-handle-decorator)
* [caching functions](https://github.com/Neoteroi/essentials/wiki/Caching)
## Documentation
Please refer to documentation in the project wiki: [https://github.com/Neoteroi/essentials/wiki](https://github.com/Neoteroi/essentials/wiki).
## Develop and run tests locally
```bash
pip install -r requirements.txt
# run tests using automatic discovery:
pytest
# with code coverage:
make testcov
```
Raw data
{
"_id": null,
"home_page": "https://github.com/Neoteroi/essentials",
"name": "essentials",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "core utilities",
"author": "Roberto Prevato",
"author_email": "roberto.prevato@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/b1/58/bad62d22fcdd933fb6a0bacb1195198e618c2062d7ad1e6a42c2724ca15d/essentials-1.1.5.tar.gz",
"platform": null,
"description": "\n[](https://pypi.python.org/pypi/essentials)\n[](https://github.com/Neoteroi/essentials)\n[](https://github.com/Neoteroi/essentials/blob/master/LICENSE)\n[](https://codecov.io/gh/Neoteroi/essentials)\n\n# Essentials\nCore classes and functions, reusable in any kind of Python application.\n\n```bash\n$ pip install essentials\n```\n\n**Features:**\n* [exception classes to express common scenarios](https://github.com/Neoteroi/essentials/wiki/Common-exceptions)\n* [friendly JSON encoder](https://github.com/Neoteroi/essentials/wiki/User-friendly-JSON-dumps), handling `datetime`, `date`, `time`, `UUID`, `bytes`, built-in enums, and instances of classes implementing a `dict()` method, like [pydantic BaseModel](https://pydantic-docs.helpmanual.io)\n* utilities to work with `folders` and paths\n* [`StopWatch` implementation](https://github.com/Neoteroi/essentials/wiki/StopWatch-implementation)\n* [a base class to handle classes that can be instantiated from configuration dictionaries](https://github.com/Neoteroi/essentials/wiki/Registry)\n* [common decorator to support retries](https://github.com/Neoteroi/essentials/wiki/Retry-decorator)\n* [common decorator to support logging function calls](https://github.com/Neoteroi/essentials/wiki/Logs-decorator)\n* [common decorator to control raised exceptions](https://github.com/Neoteroi/essentials/wiki/Exception-handle-decorator)\n* [caching functions](https://github.com/Neoteroi/essentials/wiki/Caching)\n\n## Documentation\nPlease refer to documentation in the project wiki: [https://github.com/Neoteroi/essentials/wiki](https://github.com/Neoteroi/essentials/wiki).\n\n## Develop and run tests locally\n```bash\npip install -r requirements.txt\n\n# run tests using automatic discovery:\npytest\n\n# with code coverage:\nmake testcov\n```\n\n\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "General purpose classes and functions, reusable in any kind of Python application",
"version": "1.1.5",
"split_keywords": [
"core",
"utilities"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "2f6e967846fa18f3e4d85a4e8e304678",
"sha256": "905fa4a69fcd2b2cf41ecc6cc65827e30c87ef91f3f5c71540bcc5e984fa8360"
},
"downloads": -1,
"filename": "essentials-1.1.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2f6e967846fa18f3e4d85a4e8e304678",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 13006,
"upload_time": "2022-03-14T16:58:27",
"upload_time_iso_8601": "2022-03-14T16:58:27.529921Z",
"url": "https://files.pythonhosted.org/packages/c4/aa/194b6b99b4689ac69998585d8d70aa5e0dab7c5dbf1d8e948fa9cd54dfb4/essentials-1.1.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "606c7df988778c9b1e6350e0701ceb28",
"sha256": "8736f738bb2c51d5069b2de2cf9146f7d402f25f9f95636781e59a422c908c46"
},
"downloads": -1,
"filename": "essentials-1.1.5.tar.gz",
"has_sig": false,
"md5_digest": "606c7df988778c9b1e6350e0701ceb28",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 10863,
"upload_time": "2022-03-14T16:58:28",
"upload_time_iso_8601": "2022-03-14T16:58:28.566446Z",
"url": "https://files.pythonhosted.org/packages/b1/58/bad62d22fcdd933fb6a0bacb1195198e618c2062d7ad1e6a42c2724ca15d/essentials-1.1.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-03-14 16:58:28",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "Neoteroi",
"github_project": "essentials",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "pytest",
"specs": []
},
{
"name": "pytest-cov",
"specs": []
},
{
"name": "pytest-asyncio",
"specs": []
},
{
"name": "flake8",
"specs": []
},
{
"name": "dataclasses",
"specs": [
[
"==",
"0.7"
]
]
},
{
"name": "isort",
"specs": []
},
{
"name": "black",
"specs": []
}
],
"lcname": "essentials"
}