🐍 PyEssential
A growing collection of Python utilities and decorators to simplify common development tasks.
✨ 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
@timeitdecorator 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
- Bump the version in
pyessential/_version.py, commit, and push tomain:git commit -am "chore: bump version to 0.1.4" git push origin main
- Tag the release and push the tag:
git tag -a v0.1.4 -m "Release 0.1.4" git push origin v0.1.4
- 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)
| File | Size | Uploaded | |
|---|---|---|---|
| pyessential-0.1.4.tar.gz | 12.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|