Skip to main content

🐍 PyEssential

A growing collection of Python utilities and decorators to simplify common development tasks.


CI PyPI version Python versions License

✨ Features

PyEssential aims to be the go-to library for small, reusable tools that you often find yourself writing from scratch.

  • Performance: Includes the ready-to-use @timeit decorator for simple function benchmarking.
  • Command line: Check your installed version with pyessential --version.
  • Code Clarity: Utility functions for common tasks like string manipulation (e.g., casing). (Coming soon!)
  • Scalability: Structured for easy addition of new utility groups (e.g., networking, file_io, validation).

🚀 Installation

Requires Python 3.9+

pip install pyessential

To upgrade to the latest release:

pip install --upgrade pyessential

📖 Usage

@timeit

from pyessential.decorators import timeit

@timeit
def slow_function():
    sum(range(1_000_000))

slow_function()

Command line

pyessential --version
python -m pyessential --version   # also works

🛠️ Development

git clone https://github.com/Abhi39054/PyEssential.git
cd PyEssential
pip install -e .
pytest

Releasing

  1. Bump the version in pyessential/_version.py.
  2. Commit and push to main with pypi release in the commit message:
   git commit -am "chore: bump to 0.1.3 - pypi release"
   git push origin main
  1. The CI workflow runs tests, builds the package, publishes to TestPyPI, then waits for approval before publishing to PyPI.

The package version lives in one place: pyessential/_version.py.

🤝 Contributing

Contributions are welcome. See CONTRIBUTING.md.

📄 License

Released under the MIT License.

Metadata

Release files for pyessential 0.1.2

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

Source distribution (sdist)

Source distribution for pyessential 0.1.2
File Size Uploaded
pyessential-0.1.2.tar.gz 11.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyessential 0.1.2
File Interpreter ABI Platform
pyessential-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 19.7 kB

Release files / pyessential-0.1.2.tar.gz

Download URL pyessential-0.1.2.tar.gz
Size 11.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b9c468b3c880d777c63d13ce5b596d9e13e90b061fa79b7fe5d7150bdf02801c
BLAKE2b-256 checksum
How to use checksums
72238dd94ef113e1130b02cac4bee74710eb91989f3f91870b9f74f7f721c1f1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / pyessential-0.1.2-py3-none-any.whl

Download URL pyessential-0.1.2-py3-none-any.whl
Size 8.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5d814ea4d653661b82aed7e2e368fde61b0093db76dd711d57523596c3b1b388
BLAKE2b-256 checksum
How to use checksums
36f2b2c743b0c551561e33b5ebd8899df465a5ef3e58914f057d1880b4b8995b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

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