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.165.tar.gz (23.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.165-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rotools-0.1.165.tar.gz
  • Upload date:
  • Size: 23.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.165.tar.gz
Algorithm Hash digest
SHA256 8b2316be92f087a7e8dd4d365b1acc4cd6fcaee9c72e85e12e82ed8c294ef2f3
MD5 f527ad2311396fb8fb6921b73d05e0d2
BLAKE2b-256 6cff72b307230561a03e6a554a3f0a9b9f4a4761714d76cdff1c28dea33d24f4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rotools-0.1.165-py3-none-any.whl
  • Upload date:
  • Size: 25.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.165-py3-none-any.whl
Algorithm Hash digest
SHA256 68b262d86d4cea7f2159ecfaef5588fd2572451a0a30e0ea43a54581641a7448
MD5 907deac6aa68f011984b04b307ba3c44
BLAKE2b-256 a6a3eb186e21110024cc7b74f6c14a2f8a6dd6df6ac1bedbadcf024a1929c691

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