Skip to main content
Latest Version Downloads Tests
PyPI version Downloads cov

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 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.

Metadata

Release files for epicure-utils 0.0.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for epicure-utils 0.0.5
File Size Uploaded
epicure_utils-0.0.5.tar.gz 35.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for epicure-utils 0.0.5
File Interpreter ABI Platform
epicure_utils-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 58.2 kB

Release files / epicure_utils-0.0.5.tar.gz

Download URL epicure_utils-0.0.5.tar.gz
Size 35.4 kB
Tags Source
SHA-256 checksum
How to use checksums
eb55760f021becb8e1f015273665c098bfda1a0b9c3c2cf8f9a0dd718647095f
BLAKE2b-256 checksum
How to use checksums
d91d5d4d03b262868cb5cb70cd27cf4fa49ca3576aea58936e3beeda5b7ebdc0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.10

Release files / epicure_utils-0.0.5-py3-none-any.whl

Download URL epicure_utils-0.0.5-py3-none-any.whl
Size 22.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8ea33268948fa782569317dd26549ef7428bc60ba10345dd52a1251ca0054662
BLAKE2b-256 checksum
How to use checksums
8f7eae1a11e892c07e8e795fa555ef64c6c4d3f72a013090d617b6ffed6f9612
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.11.10

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page