A common utils Python library. Don't write that one little function again!
Project description
Latest Version | Downloads | Tests |
---|---|---|
epicure
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:
# Install via pip
pip install epicure-utils
Install for development:
Clone the repository:
git clone https://github.com/patillacode/epicure.git
cd epicure
Install the dependencies and the package:
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:
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:
python -m epicure.demo
Documentation
The documentation is generated using Sphinx.
You can find the documentation online at readthedocs.
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:
make test
# or
pytest
As for the coverage, you can run the following command:
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!
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 thewindows-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.
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
Built Distribution
File details
Details for the file epicure_utils-0.0.5.tar.gz
.
File metadata
- Download URL: epicure_utils-0.0.5.tar.gz
- Upload date:
- Size: 35.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb55760f021becb8e1f015273665c098bfda1a0b9c3c2cf8f9a0dd718647095f |
|
MD5 | b5024ff68d552d9a69385f6db357ee25 |
|
BLAKE2b-256 | d91d5d4d03b262868cb5cb70cd27cf4fa49ca3576aea58936e3beeda5b7ebdc0 |
File details
Details for the file epicure_utils-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: epicure_utils-0.0.5-py3-none-any.whl
- Upload date:
- Size: 22.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.11.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ea33268948fa782569317dd26549ef7428bc60ba10345dd52a1251ca0054662 |
|
MD5 | 9845abe995d1fab51c610d563110838c |
|
BLAKE2b-256 | 8f7eae1a11e892c07e8e795fa555ef64c6c4d3f72a013090d617b6ffed6f9612 |