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)
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.166-py3-none-any.whl
(21.6 kB
view details)
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d341986cf2475b9395f1f10c048c5aeb529cc06ef827a25fee5a7c656180d55
|
|
| MD5 |
1d3011b8990bb4ba2fa8874b15621323
|
|
| BLAKE2b-256 |
39f9d654ac9bf9d6077105adbe83b4ab1f92c518561517092de520571f03b3e0
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e481fa892a2a258975466dd311e765cf112cd6d9c237e2afd40b4fe5bd9ff194
|
|
| MD5 |
0e1e958bf64e32daba99f76ac46b5bc2
|
|
| BLAKE2b-256 |
471a4e6ea7a006b19531d71dc8369a9dedffda271317c41f096855fc5a9585c3
|