Skip to content

Latest commit

 

History

History
70 lines (57 loc) · 3.4 KB

File metadata and controls

70 lines (57 loc) · 3.4 KB

Changelog

All notable changes to python-utils-toolkit are documented here.

[Unreleased]

Added

  • 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 install instructions in README (installable straight from GitHub).

Fixed

  • pyproject.toml build backend corrected from the invalid setuptools.backends.legacy:build to setuptools.build_metapip install of the package previously failed.

Changed

  • README and package metadata reworded around AI agents and automation pipelines; examples genericized.

Fixed

  • Package root imports now match the actual utility module API and keep compatibility aliases such as safe_read, safe_write, and hmac_sign.

Planned

  • http_utils — thin wrapper around urllib for GET/POST with retries
  • cli_utils — argument parsing helpers for script CLIs
  • PyPI publish workflow

[1.1.0] — 2026-05-21

Added

  • Issue templates for bug reports and feature requests
  • CONTRIBUTING.md guidelines
  • Badges and contribution links in README
  • Tests for rate_limiter — covers AsyncRateLimiter and RateLimiter edge 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

[1.0.0] — 2025-05-01

Added

  • utils/retry.py@retry decorator with exponential backoff and jitter
  • utils/rate_limiter.py — token-bucket rate limiter (sync + async)
  • utils/timer.py@timer decorator and Timer context manager
  • utils/file_helpers.py — safe read/write, atomic saves, JSON helpers
  • utils/logger.py — structured logging with colour output and file rotation
  • utils/env.py — typed .env / environment variable loader
  • utils/string_utils.py — slugify, truncate, camel_to_snake
  • utils/datetime_utils.py — UTC helpers, humanize_delta, market hours check
  • utils/number_utils.py — currency format, tick rounding, pct_change
  • utils/list_utils.py — chunk, flatten, deduplicate, batch_by
  • utils/dict_utils.py — deep_merge, safe_get, flatten_dict, pick, omit
  • utils/cache_utils.py — TTLCache and @memoize for API response caching
  • utils/async_utils.py — async retry, timeout wrapper, gather_safe
  • utils/crypto_utils.py — HMAC-SHA256 signing, nonce generation
  • utils/validation_utils.py — guard clauses, symbol/email validation
  • pyproject.toml with full PyPI metadata
  • README.md with usage examples for all modules