All notable changes to python-utils-toolkit are documented here.
- GitHub Actions CI workflow running the full pytest suite on Ubuntu and Windows (Python 3.10–3.12); live CI badge replaces the static tests badge in README.
pip installinstructions in README (installable straight from GitHub).
pyproject.tomlbuild backend corrected from the invalidsetuptools.backends.legacy:buildtosetuptools.build_meta—pip installof the package previously failed.
- README and package metadata reworded around AI agents and automation pipelines; examples genericized.
- Package root imports now match the actual utility module API and keep compatibility aliases such as
safe_read,safe_write, andhmac_sign.
http_utils— thin wrapper around urllib for GET/POST with retriescli_utils— argument parsing helpers for script CLIs- PyPI publish workflow
- Issue templates for bug reports and feature requests
CONTRIBUTING.mdguidelines- Badges and contribution links in README
- Tests for
rate_limiter— coversAsyncRateLimiterandRateLimiteredge cases - Tests for
number_utils— formatting, tick rounding, pct_change - Tests for
string_utils— slugify, truncate, camel_to_snake - Tests for
retry— exponential backoff, jitter, exception filtering - Tests for
cache_utils— TTL expiry, maxsize eviction, memoize decorator - Tests for
async_utils— timeout, gather_safe, async_retry - Tests for
dict_utils— deep_merge, safe_get, flatten_dict, pick, omit - Tests for
file_helpers— read/write, atomic_write, ensure_dir, file_size - Tests for
datetime_utils— now_utc, humanize_delta, parse_date, timestamp_ms - Tests for
list_utils— chunk, flatten, deduplicate, batch_by, first, last - Tests for
crypto_utils— hmac_sha256, sha256, md5, generate_nonce - Tests for
validation_utils— is_valid_symbol, is_valid_email, require, require_keys, is_within_range - Tests for
timer— Timer context manager, @timer decorator - Tests for
env— Env typed loader (str, int, float, bool, list) - Tests for
logger— get_logger setup, colour formatter
utils/retry.py—@retrydecorator with exponential backoff and jitterutils/rate_limiter.py— token-bucket rate limiter (sync + async)utils/timer.py—@timerdecorator andTimercontext managerutils/file_helpers.py— safe read/write, atomic saves, JSON helpersutils/logger.py— structured logging with colour output and file rotationutils/env.py— typed.env/ environment variable loaderutils/string_utils.py— slugify, truncate, camel_to_snakeutils/datetime_utils.py— UTC helpers, humanize_delta, market hours checkutils/number_utils.py— currency format, tick rounding, pct_changeutils/list_utils.py— chunk, flatten, deduplicate, batch_byutils/dict_utils.py— deep_merge, safe_get, flatten_dict, pick, omitutils/cache_utils.py— TTLCache and@memoizefor API response cachingutils/async_utils.py— async retry, timeout wrapper, gather_safeutils/crypto_utils.py— HMAC-SHA256 signing, nonce generationutils/validation_utils.py— guard clauses, symbol/email validationpyproject.tomlwith full PyPI metadataREADME.mdwith usage examples for all modules