Skip to content

v0.2.0

Choose a tag to compare

@allen2c allen2c released this 22 Jul 07:45
· 4 commits to main since this release
b7c15e6

πŸš€ 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=False parameter
  • 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 VERSION file 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 additions
  • README.md - Updated documentation and examples
  • pyproject.toml - Version bump and project URLs
  • tests/test_readme_usages.py - Extensive test coverage
  • dictpress/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 functions

What's Changed

New Contributors

Full Changelog: v0.1.0...v0.2.0