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.0.12.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.0.12-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pedros-0.0.12.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.0.12.tar.gz
Algorithm Hash digest
SHA256 5ba8fb7614eeeaa5e83cfcc041225111a141a212862beb9aebc4820e859d1b6f
MD5 4a0229afeeddde3f3d47a34efd3a15c2
BLAKE2b-256 9a04b8b84176c7a6b8466b983e805bfe98a58889fd2537dbdb8d3e90c96c73bd

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: pedros-0.0.12-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.0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 7b67e0dcd824ab24ecddbf547e4f3467d82825bc13b5f39c1170dffd43fecc28
MD5 86643ff098c39a4215f39b131ecb8009
BLAKE2b-256 6d71176ad4869617d86c12a4860f86eea1b3378256f8111b316b43abb9782a6c

See more details on using hashes here.

Provenance

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