forked from DavidMertz/coalesce
-
Notifications
You must be signed in to change notification settings - Fork 0
Coalescing access to messy nested data
License
INE-Student/coalesce
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This module is intended to ease access to nested data structures—in any combination of key or attribue access to each level of a hierarchy—where many paths in the tree may be missing. Typically, such data is encountered in semi-structured formats like JSON, YAML, or some XML, that is deserialized into Python data structures. PEP 505 attempts to address this need with the addition of a number of new syntactic operators for attribute or item access where a special type of failure mode "coalesces" None values. Other libraries such as PyMaybe (https://pymaybe.readthedocs.io) perform a similar operation, and are more mature and robust. On the other hand, by utilizing `wrapt.ObjectProxy`, this simple module manages to do some pretty neat stuff that even PyMaybe does not. In this library, I simply want to provide simple wrapper classes that provide both what I think is more useful behavior and behavior that is semantically equivalent to PEP 505. Classes: GreedyAccess: Wrap an object so that nested attribute and item access simply does not fail, but propagates a wrapped object across such nested access. NullCoalesce: Wrap an object so that encountering a None (or other indicated sentinel) at any level stops accessing further attributes and unboxes as a None (or other sentinel). Aliased as `NoneCoalesce`
About
Coalescing access to messy nested data
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- Python 100.0%