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, commit, and push to main:
    git commit -am "chore: bump version to 0.1.4"
    git push origin main
    
  2. Tag the release and push the tag:
    git tag -a v0.1.4 -m "Release 0.1.4"
    git push origin v0.1.4
    
  3. CI runs the tests, builds the package, publishes to TestPyPI, waits for approval, publishes to PyPI, and creates the GitHub Release.

The tag must match the version in _version.py (v0.1.4 ↔ 0.1.4), or the build fails.

🤝 Contributing

Contributions are welcome. See CONTRIBUTING.md.

📄 License

Released under the MIT License.

Metadata

Release files for pyessential 0.1.4

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.4
File Size Uploaded
pyessential-0.1.4.tar.gz 12.2 kB Details

Built distribution (wheel)

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

Total release size: 21.4 kB

Release files / pyessential-0.1.4.tar.gz

Download URL pyessential-0.1.4.tar.gz
Size 12.2 kB
Tags Source
SHA-256 checksum
How to use checksums
eb6f95f0202eb4ef7343db6b12460125ef7a3dd643f5ae32726b2308ca4ad547
BLAKE2b-256 checksum
How to use checksums
18d95746ee3d10d395eb1905d35d5835d5fb1a6c70bfbd520956abef6a9463b4
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.4-py3-none-any.whl

Download URL pyessential-0.1.4-py3-none-any.whl
Size 9.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1d523c75bea252fb1e0a776ad70043d3f0d0146bc0a2ce9d61c08a4881c4fec6
BLAKE2b-256 checksum
How to use checksums
4f41ad50585355cc21ab76142fa7f64bceba3ce818dcec294758db2e3008db15
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

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

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