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

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.5.tar.gz (35.4 kB view details)

Uploaded Source

Built Distribution

epicure_utils-0.0.5-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

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

Hashes for epicure_utils-0.0.5.tar.gz
Algorithm Hash digest
SHA256 eb55760f021becb8e1f015273665c098bfda1a0b9c3c2cf8f9a0dd718647095f
MD5 b5024ff68d552d9a69385f6db357ee25
BLAKE2b-256 d91d5d4d03b262868cb5cb70cd27cf4fa49ca3576aea58936e3beeda5b7ebdc0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for epicure_utils-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 8ea33268948fa782569317dd26549ef7428bc60ba10345dd52a1251ca0054662
MD5 9845abe995d1fab51c610d563110838c
BLAKE2b-256 8f7eae1a11e892c07e8e795fa555ef64c6c4d3f72a013090d617b6ffed6f9612

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