Releases: allen2c/dictpress
Releases · allen2c/dictpress
v0.3.0
🎉 dictpress v0.3.0: Zero-Dependency Power-Up! ⚡
🚀 What's New
- Version bump:
0.2.0→0.3.0🆙 - Zero dependencies: Dropped
python-benedictand all its friends! 🎊 - Pure Python: Now 100% self-contained with custom implementations 💪
🔧 Core Improvements
- Enhanced flatten/unflatten: Now handles non-string keys like a champ! 🔑
- Better key handling: Non-string keys are preserved during round-trips 🔄
- Case-insensitive search: More robust
get_deepwith proper key type checking 🔍
🧪 New Tests Added
test_set_deep_overwrite()- Verify overwrite behavior ✏️test_flatten_dict_non_string_key()- Non-string key preservation 🎯test_round_trip_with_non_string_keys()- Full round-trip validation 🎪
📦 Dependency Cleanup
- Removed:
python-benedict,python-fsutil,python-slugify,text-unidecode - Updated:
coverage,docutils,pbs-installer,rich(dev dependencies) - Simplified: Clean
requirements.txtwith no runtime deps! ✨
🎯 Breaking Changes
None! All existing functionality remains intact while adding new superpowers 🦸♂️
Ready to merge! 🚢
What's Changed
Full Changelog: v0.2.0...v0.3.0
v0.2.0
🚀 Release v0.2.0: Deep Access Functions
✨ What's New
This release introduces two powerful new functions for working with nested dictionaries:
🔍 get_deep() - Smart Value Retrieval
- Exact matching:
get_deep(data, "user.profile.name") - Suffix matching:
get_deep(data, "name")finds any key ending with.name - Case-insensitive option:
case_sensitive=Falseparameter - Default values: Built-in fallback support
✏️ set_deep() - Immutable Value Setting
- Dot notation:
set_deep(data, "user.profile.name", "Alice") - Auto-nesting: Creates intermediate dictionaries as needed
- Immutable: Returns new dict without modifying original
- JSON-safe: Maintains serializable data structures [[memory:3975571]]
📦 Package Improvements
- 🏷️ Version management: Added
VERSIONfile and dynamic version loading - 🔗 Better discoverability: Added repository and PyPI links to README and pyproject.toml
- 📚 Enhanced docs: Updated usage examples and API reference
- ✅ Comprehensive tests: Full test coverage including edge cases
📋 Files Changed
dictpress/__init__.py- Core functionality additionsREADME.md- Updated documentation and examplespyproject.toml- Version bump and project URLstests/test_readme_usages.py- Extensive test coveragedictpress/VERSION- Version file for dynamic loading
🎯 Migration
Fully backward compatible! Existing code continues to work unchanged. New functions are available immediately:
from dictpress import get_deep, set_deep # New functions
from dictpress import flatten_dict, unflatten_dict, merge # Existing functionsWhat's Changed
New Contributors
Full Changelog: v0.1.0...v0.2.0
v0.1.0
Full Changelog: https://github.com/allen2c/dictpress/commits/v0.1.0