Skip to main content

Small utility package for my projects.

Project description

Pedros

PyPI

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

Quickstart

from pedros import setup_logging, get_logger, progbar, timed, safe

# Configure logging
setup_logging()
logger = get_logger()

# Use progress bar (auto-selects backend: rich > tqdm > basic)
for item in progbar(range(10), desc="Processing"):
    pass

# Time function execution
@timed
def process_data():
    return "result"


process_data()  # Logs: "process_data took 1.23 ms to execute."


# Safely handle errors
@safe(re_raise=False)
def risky_operation():
    raise ValueError("Something went wrong")


risky_operation()  # Logs the error but doesn't crash

License

This project is licensed under the MIT License.

Contributing

Contributions are welcome! Please open issues or pull requests on GitHub.

Support

For questions or support, please open a GitHub issue.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pedros-0.12.2.tar.gz (44.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pedros-0.12.2-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file pedros-0.12.2.tar.gz.

File metadata

  • Download URL: pedros-0.12.2.tar.gz
  • Upload date:
  • Size: 44.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pedros-0.12.2.tar.gz
Algorithm Hash digest
SHA256 e192184e0b68e43a9ad31117f6d01391d910812c80697d82c3dd6d453ef5c98b
MD5 dfd760f61c2ae206a6af0f39093d26fd
BLAKE2b-256 c1df257e37c768fb90da9b9f497213820bb020f7e65fed23ea109cb62ba591bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for pedros-0.12.2.tar.gz:

Publisher: python-publish.yml on PierreLapolla/pedros

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file pedros-0.12.2-py3-none-any.whl.

File metadata

  • Download URL: pedros-0.12.2-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pedros-0.12.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1317794f5283ff18ca987fd8a0b73e75bae99b9d383099f6961d0c4980d9596d
MD5 481ec2901cc70dc87a9b73f6f881255d
BLAKE2b-256 b42c9e9c431beaa3d8ed55351b6b077499dedbaaec5418db1193a63b09f9b878

See more details on using hashes here.

Provenance

The following attestation bundles were made for pedros-0.12.2-py3-none-any.whl:

Publisher: python-publish.yml on PierreLapolla/pedros

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page