Skip to main content

Robert Olechowski python tools

Project description

ROTools

A collection of Python utilities and helpers for everyday development tasks.

Installation

pip install rotools

With optional extras:

pip install rotools[minio]       # MinioWrapper
pip install rotools[requests]    # RequestHelper
pip install rotools[polars]      # df_helpers
pip install rotools[sqlalchemy]  # db_helpers

Quick start

from ROTools import DictObj, ConfigLoader, StopWatch

# DictObj — dict with attribute access and dot-notation paths
d = DictObj(name="Alice", address=DictObj(city="Warsaw"))
print(d.name)                  # Alice
print(d.get("address.city"))   # Warsaw
d.set("address.zip", "00-001")
d.dump()

# ConfigLoader — YAML config with env-var overrides
cfg = ConfigLoader("config.yaml")
db_host = cfg.get("database.host")

# StopWatch — simple elapsed-time helper
sw = StopWatch()
sw.start()
# ... work ...
sw.stop()
print(sw)

Modules

Module Description
DictObj Dict-like object with attribute access and dot-notation paths
ConfigLoader YAML config loader with environment variable overrides
Attr Deep get/set/del using dot-notation strings
StopWatch Elapsed time measurement
WorkersCollection Thread/process worker pool
SignalHandler Graceful shutdown signal handling
RequestHelper HTTP request wrapper with retries
RateLimiter Rate limiting for loops and API calls
SleepController Interruptible sleep
SmartCounter Counter with merge support
StringBuilder String/table builder
HashBuilder Deterministic hash generation for objects
MinioWrapper S3/Minio object storage wrapper
PathWrapper Filesystem path utilities

Requirements

  • Python >= 3.10
  • PyYAML >= 6.0
  • humanize >= 4.0

License

Apache License 2.0

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

rotools-0.1.166.tar.gz (18.1 kB view details)

Uploaded Source

Built Distribution

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

rotools-0.1.166-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file rotools-0.1.166.tar.gz.

File metadata

  • Download URL: rotools-0.1.166.tar.gz
  • Upload date:
  • Size: 18.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for rotools-0.1.166.tar.gz
Algorithm Hash digest
SHA256 4d341986cf2475b9395f1f10c048c5aeb529cc06ef827a25fee5a7c656180d55
MD5 1d3011b8990bb4ba2fa8874b15621323
BLAKE2b-256 39f9d654ac9bf9d6077105adbe83b4ab1f92c518561517092de520571f03b3e0

See more details on using hashes here.

File details

Details for the file rotools-0.1.166-py3-none-any.whl.

File metadata

  • Download URL: rotools-0.1.166-py3-none-any.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for rotools-0.1.166-py3-none-any.whl
Algorithm Hash digest
SHA256 e481fa892a2a258975466dd311e765cf112cd6d9c237e2afd40b4fe5bd9ff194
MD5 0e1e958bf64e32daba99f76ac46b5bc2
BLAKE2b-256 471a4e6ea7a006b19531d71dc8369a9dedffda271317c41f096855fc5a9585c3

See more details on using hashes here.

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