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.1.tar.gz (51.8 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.1-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pedros-0.12.1.tar.gz
  • Upload date:
  • Size: 51.8 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.1.tar.gz
Algorithm Hash digest
SHA256 3fc6f3e1dfe694aac83b5db70138d1a49b6266a671fb4c88c27102a0d0db4b55
MD5 bd007838f49db1ddee963b32a5c76822
BLAKE2b-256 6aa094125c8627cc8956a1f3a16b5c6c664e714bca299bea88fe81da2b0dad7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for pedros-0.12.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: pedros-0.12.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e947770661849e580dee3ead24ca1ab5f6ade076bbf9eefd794714e02f6191b2
MD5 edf7b31124ce7fb4ac44ab1e031d510d
BLAKE2b-256 cb75ba61ca29725d7d7437660b978ded364ee1d107bf0ad6241dfa8cffd51bfe

See more details on using hashes here.

Provenance

The following attestation bundles were made for pedros-0.12.1-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