Releases: dannystewart/polykit
Releases · dannystewart/polykit
v0.14.6
Full Changelog: v0.14.5...v0.14.6
v0.14.5
Added
- Adds
MainActordecorator for thread-safe execution using Swift-inspired actor pattern. - Adds
AttrDictclass for attribute-style dictionary access with nested merging and type safety.
Changed
- Updates dependency versions with Python version constraints and bumps minimum versions for
platformdirsandpython-dotenv. - Updates development dependencies including
mypy,pdoc,pre-commit, andruffto latest versions. - Updates pre-commit hooks to latest versions (
ruffv0.14.0,mypyv1.18.2,pre-commit-hooksv6.0.0). - Improves text truncation logic by removing redundant variable assignments.
- Simplifies type ignore comments in
attr_dictmodule.
Full Changelog: v0.14.4...v0.14.5
v0.14.4
Added
- Adds enhanced
get_argsfunction that handlesTypeAliasTypeobjects automatically without requiring__value__, improving type introspection capabilities for modern Python typing constructs.
Changed
- Renames
is_literal.pytotype_utils.pyto better accommodate type-related utility functions.
Full Changelog: v0.14.3...v0.14.4
v0.14.3
Full Changelog: v0.14.2...v0.14.3
v0.14.2
Added
- Adds subparser support to
PolyArgsto provide help text capitalization consistent with argument handling.
Full Changelog: v0.14.1...v0.14.2
v0.14.1
Added
- Makes
end_messageinhalo_progressoptional by passingNone, which will clear the spinner without a message for cleaner output when a completion message is not needed.
Changed
- Updates project dependencies including
platformdirs(4.3.8 → 4.4.0),requests(2.32.4 → 2.32.5),ruff(0.12.9 → 0.12.11), andtyping-extensions(4.14.1 → 4.15.0).
Full Changelog: v0.14.0...v0.14.1
v0.14.0
More breaking changes in this one, reverting the new split class approach to the original approach in 0.12.0 and earlier.
Added
- Adds comma formatting option to the
pluralmethod inPolyNumclass, with a newcommasparameter (enabled by default). - Adds support for date objects in
get_pretty_time, allowing date-only formatting, and introduces theget_date_onlyconvenience function. - Adds Peacock color customizations with a purple theme for better visual identification of the workspace.
Fixed
- Fixes help text processing in
PolyArgsto preserve uppercase in acronyms, preventing "API" from becoming "aPI" in help messages.
Changed
- BREAKING: Deprecates
PolyText,PolyColors,PolyMoji,PolyNum,PolySplit, andPolyTruncateclasses and returns to the previous structure with theTextandTimeclasses, plus the addition of theMarkupclass so thatTextcan be a normal class instead of aStrEnum. Backward compatibility is maintained for now. I realized that the previous attempt at separation caused more headaches than it avoided and is not worth applying that level of granular separation. I'm sorry, mostly to myself, who now has to undo all this across all my other scripts. - BREAKING: Renames parameter
with_counttoshow_numin plural methods for better clarity acrossPolyNumandPolyTimeclasses. - Reverts the more complicated pluralization logic in
PolyNumto fix issues like "photoes." Turns out the simpler approach is best. - Adds usage guidance for
PolyNum.formatmethod, recommending the use of the simplerPolyNum.pluralmethod if pluralization is all you need. - Deprecates the
html_escapemethod, recommending the use ofhtml.escapefrom the standard library instead. - Updates development dependencies including
mypy(1.17.0 to 1.17.1),ruff(0.12.5 to 0.12.7),distlib,virtualenv, andcertifi.
Full Changelog: v0.13.0...v0.14.0
v0.13.0
More breaking changes in this one.
Added
- Adds optional parameters to
log_tracebackfunction, making it more flexible in various error handling scenarios.
Changed
- Renames
PolyNumberstoPolyNumfor consistency and brevity. - Removes
capitalizeparameter from all methods inPolyNum. You should use standard string capitalization with.capitalize()going forward. - Updates dependencies to their latest versions:
- certifi from 2025.6.15 to 2025.7.9
- ruff from 0.12.0 to 0.12.3
- typing-extensions from 4.14.0 to 4.14.1
Removed
- Removes the deprecated
formatterspackage and its modules (text.py,time.py,types.py) that contained the oldTextandTimeutility classes.
Fixed
- Fixes
log_tracebackto properly handle being used directly assys.excepthookby checking for None parameters and falling back tosys.exc_info().
Full Changelog: v0.12.0...v0.13.0
v0.12.0b1
Full Changelog: v0.11.4...v0.12.0b1
v0.12.0
Releasing beta [0.12.0b1] after additional testing. Please note the breaking changes made from 0.11. You will receive deprecation warnings when calling things that have been restructured, and they will eventually be removed.
Added
- Adds enhanced plural method with more comprehensive English pluralization rules compared to the previous approach, including special case handling for words ending in 'y', 's', 'x', 'z', 'ch', 'sh', 'o', 'f', and 'fe', as well as support for negative numbers.
Full Changelog: v0.11.4...v0.12.0