V0.0.2 Release
This release expands EmotiGrad’s expressiveness, polish, and reliability, with major community contributions across personalities, output formatting, and test coverage.
✨ New Personalities
Eight new built-in personalities are now available:
nervous: anxious and overthinkingchaotic: unpredictable, varied responsesarrogant: confidently condescendingtired: exhausted but pushing throughhype: extremely enthusiastic and energeticacademic: research-style feedback with Δ and % statspirate: Arrr! motivational pirate talkzen: calm, mindful, journey-focused feedback
All personalities are fully registered, tested, and available via string names.
🎨 Colored Output Support
EmotiGrad now supports optional ANSI-colored output:
- New
colorsmodule with utilities to apply or strip ANSI color codes ColoredPrinterhelper for personality-specific color schemes- Seamless integration via the
print_fnargument
Example:
from emotigrad import EmotionalOptimizer, ColoredPrinter
printer = ColoredPrinter("hype")
opt = EmotionalOptimizer(optimizer, personality="hype", print_fn=printer)🧪 Expanded Test Coverage
Significant improvements to test coverage and robustness, including 25+ new tests covering:
- Personality registry behavior
- String, function, class, and lambda personalities
- Registry overwrite protection
- Built-in personality behaviors
message_everysmoothing and averaging logic- Full training-loop integration scenarios
All tests passed across the expanded suite.
💖 Community Contributions
Huge thanks to @majiayu000 for the new personalities, colored output support, and comprehensive test additions. This release is a big step forward for EmotiGrad!
🔧 Upgrade Notes
- No breaking changes
- Existing APIs continue to work as-is
- Fully backward compatible with
v0.0.1