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

Uploaded Python 3

File details

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

File metadata

  • Download URL: rotools-0.1.167.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.167.tar.gz
Algorithm Hash digest
SHA256 be5bfb7551c8da3c559a9c18879914ce4a7c9778f462dc46a7c1981692ebfea7
MD5 9941869b29d4eed6fc251cd54b01125f
BLAKE2b-256 b7acfb303078a3224006fdfb42a9436605d71f7b7589c9b5bfdaa827950468bb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rotools-0.1.167-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.167-py3-none-any.whl
Algorithm Hash digest
SHA256 d358923f815bb977cea76ebb456011246c65c38439305dc51a862b4f3e3e1c5c
MD5 b88fd96bdb79a2ba04a320ebeb7d136b
BLAKE2b-256 7225697a4eba84267a14c7163e13b602068cc3e2be3a4f2fed8d48099f4ca372

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