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

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.3
File Size Uploaded
pyessential-0.1.3.tar.gz 12.1 kB Details

Built distribution (wheel)

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

Total release size: 21.3 kB

Release files / pyessential-0.1.3.tar.gz

Download URL pyessential-0.1.3.tar.gz
Size 12.1 kB
Tags Source
SHA-256 checksum
How to use checksums
5f757aa05f25546f53f94e254e1e8279dbc0c63746f997f5dc8db47268537d5d
BLAKE2b-256 checksum
How to use checksums
e50e64b6805554554b6f1f68350fbf623a1e6108e1eeb9b09b089de33e8591f6
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.3-py3-none-any.whl

Download URL pyessential-0.1.3-py3-none-any.whl
Size 9.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fc0298e95781369a8a85dccadbb9d48af90ed69bf3619e3e48a62213110d82a3
BLAKE2b-256 checksum
How to use checksums
ad3e755ba1ddd3a59471e8346cb739e039dad41cef7556b4e31b4d59a468020d
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

This release

0.1.3 This release

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