Skip to main content

A common utils Python library. Don't write that one little function again!

Project description

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 I tend to use in my personal projects.

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

Please generate the documentation by running the following command:

make documentation

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

Available Modules and Methods

output
  • colored_print: Print colored text in the terminal.

input
  • ask_yes_no_question: Ask the user a yes/no question.
  • multi_choice_question: Ask the user to choose one option from a list of choices.
  • multi_choice_question_interactive: Ask the user to choose multiple options from a list of choices. (works on Linux and macOS)
  • simple_choice_question: Ask the user to choose multiple options from a list of choices using an interactive menu.

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.

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

epicure_utils-0.0.4.tar.gz (32.4 kB view details)

Uploaded Source

Built Distribution

epicure_utils-0.0.4-py3-none-any.whl (21.4 kB view details)

Uploaded Python 3

File details

Details for the file epicure_utils-0.0.4.tar.gz.

File metadata

  • Download URL: epicure_utils-0.0.4.tar.gz
  • Upload date:
  • Size: 32.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.11.10

File hashes

Hashes for epicure_utils-0.0.4.tar.gz
Algorithm Hash digest
SHA256 c8268d53846d4d679ed721f73858375564776c4da9773f502b753d5744391211
MD5 eff0529c64e958fb5ff0c9f48ff1b798
BLAKE2b-256 c04b666553e43c726470140287dade5b093217ac353324d396552944f2cc3c74

See more details on using hashes here.

File details

Details for the file epicure_utils-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for epicure_utils-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 c359216044fa9887e19f93e403985fc3cf33a53a8b0963b112a7c8de3dfcd8f6
MD5 eaa0b9624ecf4399d863fa02b892a419
BLAKE2b-256 6014bff95a35c816b57e06321d934b65cd107a5672e29fed7582ee1f49c062df

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page