make Build and App classes act like dicts
This is a long overdue merge request for something that @mvdan and I have discussed in IRC quite a bit. Basically the idea is that Python works very well with dictionaries, and the App
and Build
classes were very close to Python dict
s. So this makes them actual subclasses of dict
so they can be used just like a dict
. Then using libraries to work with YAML, JSON, etc. becomes trivial since they freely exchange between dict
s and the data formats.
This is required for the new index-v1.json data format as well as making a modern build metadata format in YAML.