Pedros
A small package of reusable Python utilities for Python projects.
Features
- Dependency Management: Smart detection of optional dependencies (rich, tqdm)
- Logging: Simplified logging setup with optional Rich support
- Progress Bars: Unified progress bar API with multiple backends
- Decorators: Robust decorators for timing (
@timed) and error handling (@safe) - Type Safe: Comprehensive type hints and PEP 561 compliance
Installation
pip install pedros
OR
uv add pedros
rich and tqdm are optional and auto-detected at runtime — install either
yourself to get the enhanced logging/progress-bar backend.
Documentation
Full usage guide, one page per feature, with examples: pierrelapolla.github.io/pedros
License
This project is licensed under the MIT License.
Contributing
Contributions are welcome! To set up a dev environment:
- Install uv.
- Clone the repo and install dependencies:
git clone https://github.com/pierrelapolla/pedros.git cd pedros uv sync --group dev --group docs
- Install the pre-commit hooks:
uv run pre-commit install
- Run the test suite:
uv run pytest
- Preview the docs locally:
uv run --group docs zensical serve
Before opening a pull request, run the hooks against the full tree:
uv run pre-commit run --all-files
Support
For questions or support, please open a GitHub issue.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pedros-0.13.1.tar.gz.
File metadata
- Download URL: pedros-0.13.1.tar.gz
- Upload date:
- Size: 71.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c42a63ca4c8abfbf51c13271ad3dc3d70fc22f18bc5407cda50e255f55f07fdd
|
|
| MD5 |
66a617f0c8e64a1ac4fe7d6d035f848a
|
|
| BLAKE2b-256 |
bd8bdd6be2b5e639b25d0819d4d2ada1dc3159250e572da5bf3a16bfa58b64db
|
File details
Details for the file pedros-0.13.1-py3-none-any.whl.
File metadata
- Download URL: pedros-0.13.1-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.11.31 {"installer":{"name":"uv","version":"0.11.31","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e543054eae2354172a9c5689eb16f55b5201f571aa9e7cd10d017762e54e394
|
|
| MD5 |
09959315243b680985e27cd5dbedc92c
|
|
| BLAKE2b-256 |
f3416f54ec6f6ec4713fb9c28dd0a0476bc5fbada871e8ef0ddd163c51f15d96
|