| Latest Version | Downloads | Tests |
|----------------|-----------|-------|
| [![PyPI version](https://raw.githubusercontent.com/patillacode/epicure/refs/heads/main/pypi-badge.svg)](https://pypi.org/project/epicure-utils/) | [![Downloads](https://pepy.tech/badge/epicure-utils)](https://pepy.tech/project/epicure-utils) | [![cov](https://raw.githubusercontent.com/patillacode/epicure/main/coverage.svg)](https://github.com/patillacode/epicure/actions) |
# epicure
```md
epicure | ˈɛpɪkjʊə, ˈɛpɪkjɔː |
noun
a person who takes particular pleasure in fine food and drink.
```
### What?
`epicure` is a collection of useful python methods and utils with no dependencies other than the Python standard library. Never write the same little utils again!
### Why?
I like to keep my projects as clean as possible, and I don't like to add dependencies unless strictly necessary.
I usually end up writing the same little utils over and over again, so I decided to create a centralized place where I can keep them organized and ready to use in any project I'm working on.
### Installation
#### Plug & Play:
```bash
# Install via pip
pip install epicure-utils
```
#### Install for development:
Clone the repository:
```bash
git clone https://github.com/patillacode/epicure.git
cd epicure
```
Install the dependencies and the package:
```bash
make install
# or manually:
python -m venv venv
source venv/bin/activate
pip install -e .
```
#### System Requirements
Before using epicure, ensure you have the following installed:
- Python >= `3.10`
### Usage
Once installed you can import the package and use the methods as you would with any other python package.
Simple example:
```python
from epicure.output import colored_print
colored_print("Hello, World!", fg_color="magenta", bg_color="black")
# this will print a "Hello, World!" in your terminal
# foreground color will be magenta and background color will be black (if supported by your terminal)
```
To see an interactive example of all the things available, run the following command:
```bash
python -m epicure.demo
```
### Documentation
The documentation is generated using Sphinx.
You can find the documentation online at [readthedocs](https://epicure.readthedocs.io/en/latest/).
If you prefer to read the documentation locally, it will be available in the `docs` folder, open the `index.html` file in your browser to see the documentation.
### Features
- Simple and useful methods for everyday use.
- The package is organized in modules, so you can import only the methods you need.
- No dependencies other than the Python standard library.
----
**And more to come...!**
### Testing
To run the tests, you can use the following command:
```bash
make test
# or
pytest
```
As for the coverage, you can run the following command:
```bash
make coverage
# or
coverage run -m pytest -x
coverage json -o "coverage-summary.json"
coverage report -m
```
Remember to install the testing dependencies before running the tests!
```bash
make install-test-requirements
# or
pip install -r install -r requirements/test.txt
```
### Known Issues
- `multi_choice_question_interactive` does not work on Windows by default. You need to install the `windows-curses` package to use it on Windows.
### Acknowledgments
- Python community, for the amazing libraries and tools they provide.
### Contributing
Contributions are welcome!
If you have a feature request, bug report, or a pull request, please open an issue or submit a PR.
If you plan on submitting a PR, I recommend following this list to develop a new feature or fix a bug:
- implement the feature or fix the bug (remember to follow the code style, typing and docstrings)
- add full tests for the new feature or bug fix
- make sure the tests pass (and coverage is not decreased)
- recreate documentation
- maybe add an example in the demo script
### License
epicure is released under [GNU GENERAL PUBLIC LICENSE Version 3](LICENSE).
Raw data
{
"_id": null,
"home_page": null,
"name": "epicure-utils",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "utils, helpers",
"author": null,
"author_email": "Patilla Code <patillacode@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/d9/1d/5d4d03b262868cb5cb70cd27cf4fa49ca3576aea58936e3beeda5b7ebdc0/epicure_utils-0.0.5.tar.gz",
"platform": null,
"description": "| Latest Version | Downloads | Tests |\n|----------------|-----------|-------|\n| [![PyPI version](https://raw.githubusercontent.com/patillacode/epicure/refs/heads/main/pypi-badge.svg)](https://pypi.org/project/epicure-utils/) | [![Downloads](https://pepy.tech/badge/epicure-utils)](https://pepy.tech/project/epicure-utils) | [![cov](https://raw.githubusercontent.com/patillacode/epicure/main/coverage.svg)](https://github.com/patillacode/epicure/actions) |\n\n# epicure\n\n```md\nepicure | \u02c8\u025bp\u026akj\u028a\u0259, \u02c8\u025bp\u026akj\u0254\u02d0 |\n\nnoun\n\na person who takes particular pleasure in fine food and drink.\n```\n\n### What?\n\n`epicure` is a collection of useful python methods and utils with no dependencies other than the Python standard library. Never write the same little utils again!\n\n\n### Why?\n\nI like to keep my projects as clean as possible, and I don't like to add dependencies unless strictly necessary.\n\nI usually end up writing the same little utils over and over again, so I decided to create a centralized place where I can keep them organized and ready to use in any project I'm working on.\n\n\n### Installation\n\n#### Plug & Play:\n```bash\n# Install via pip\npip install epicure-utils\n```\n\n#### Install for development:\n\nClone the repository:\n```bash\ngit clone https://github.com/patillacode/epicure.git\ncd epicure\n```\n\nInstall the dependencies and the package:\n```bash\nmake install\n\n# or manually:\n\npython -m venv venv\nsource venv/bin/activate\npip install -e .\n```\n\n#### System Requirements\n\nBefore using epicure, ensure you have the following installed:\n\n- Python >= `3.10`\n\n\n### Usage\nOnce installed you can import the package and use the methods as you would with any other python package.\n\nSimple example:\n\n```python\nfrom epicure.output import colored_print\n\ncolored_print(\"Hello, World!\", fg_color=\"magenta\", bg_color=\"black\")\n\n# this will print a \"Hello, World!\" in your terminal\n# foreground color will be magenta and background color will be black (if supported by your terminal)\n```\n\nTo see an interactive example of all the things available, run the following command:\n\n```bash\npython -m epicure.demo\n```\n\n### Documentation\n\nThe documentation is generated using Sphinx.\n\nYou can find the documentation online at [readthedocs](https://epicure.readthedocs.io/en/latest/).\n\nIf you prefer to read the documentation locally, it will be available in the `docs` folder, open the `index.html` file in your browser to see the documentation.\n\n\n### Features\n- Simple and useful methods for everyday use.\n- The package is organized in modules, so you can import only the methods you need.\n- No dependencies other than the Python standard library.\n\n----\n\n**And more to come...!**\n\n\n### Testing\nTo run the tests, you can use the following command:\n\n```bash\nmake test\n# or\npytest\n```\n\nAs for the coverage, you can run the following command:\n\n```bash\nmake coverage\n# or\ncoverage run -m pytest -x\ncoverage json -o \"coverage-summary.json\"\ncoverage report -m\n```\n\nRemember to install the testing dependencies before running the tests!\n\n```bash\nmake install-test-requirements\n# or\npip install -r install -r requirements/test.txt\n```\n\n### Known Issues\n- `multi_choice_question_interactive` does not work on Windows by default. You need to install the `windows-curses` package to use it on Windows.\n\n### Acknowledgments\n- Python community, for the amazing libraries and tools they provide.\n\n### Contributing\nContributions are welcome!\n\nIf you have a feature request, bug report, or a pull request, please open an issue or submit a PR.\n\nIf you plan on submitting a PR, I recommend following this list to develop a new feature or fix a bug:\n\n- implement the feature or fix the bug (remember to follow the code style, typing and docstrings)\n- add full tests for the new feature or bug fix\n- make sure the tests pass (and coverage is not decreased)\n- recreate documentation\n- maybe add an example in the demo script\n\n### License\n\nepicure is released under [GNU GENERAL PUBLIC LICENSE Version 3](LICENSE).\n",
"bugtrack_url": null,
"license": "GNU General Public License v3 (GPLv3)",
"summary": "A common utils Python library. Don't write that one little function again!",
"version": "0.0.5",
"project_urls": {
"homepage": "https://github.com/patillacode/epicure",
"repository": "https://github.com/patillacode/epicure"
},
"split_keywords": [
"utils",
" helpers"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8f7eae1a11e892c07e8e795fa555ef64c6c4d3f72a013090d617b6ffed6f9612",
"md5": "9845abe995d1fab51c610d563110838c",
"sha256": "8ea33268948fa782569317dd26549ef7428bc60ba10345dd52a1251ca0054662"
},
"downloads": -1,
"filename": "epicure_utils-0.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9845abe995d1fab51c610d563110838c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 22740,
"upload_time": "2024-11-21T22:52:33",
"upload_time_iso_8601": "2024-11-21T22:52:33.254138Z",
"url": "https://files.pythonhosted.org/packages/8f/7e/ae1a11e892c07e8e795fa555ef64c6c4d3f72a013090d617b6ffed6f9612/epicure_utils-0.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d91d5d4d03b262868cb5cb70cd27cf4fa49ca3576aea58936e3beeda5b7ebdc0",
"md5": "b5024ff68d552d9a69385f6db357ee25",
"sha256": "eb55760f021becb8e1f015273665c098bfda1a0b9c3c2cf8f9a0dd718647095f"
},
"downloads": -1,
"filename": "epicure_utils-0.0.5.tar.gz",
"has_sig": false,
"md5_digest": "b5024ff68d552d9a69385f6db357ee25",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 35420,
"upload_time": "2024-11-21T22:52:34",
"upload_time_iso_8601": "2024-11-21T22:52:34.517904Z",
"url": "https://files.pythonhosted.org/packages/d9/1d/5d4d03b262868cb5cb70cd27cf4fa49ca3576aea58936e3beeda5b7ebdc0/epicure_utils-0.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-21 22:52:34",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "patillacode",
"github_project": "epicure",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "icecream",
"specs": []
},
{
"name": "python-dotenv",
"specs": []
},
{
"name": "requests",
"specs": []
}
],
"lcname": "epicure-utils"
}