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)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
rotools-0.1.165-py3-none-any.whl
(25.6 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b2316be92f087a7e8dd4d365b1acc4cd6fcaee9c72e85e12e82ed8c294ef2f3
|
|
| MD5 |
f527ad2311396fb8fb6921b73d05e0d2
|
|
| BLAKE2b-256 |
6cff72b307230561a03e6a554a3f0a9b9f4a4761714d76cdff1c28dea33d24f4
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68b262d86d4cea7f2159ecfaef5588fd2572451a0a30e0ea43a54581641a7448
|
|
| MD5 |
907deac6aa68f011984b04b307ba3c44
|
|
| BLAKE2b-256 |
a6a3eb186e21110024cc7b74f6c14a2f8a6dd6df6ac1bedbadcf024a1929c691
|