[OPTIONAL]
I personally prefer more verbose loops over (dict/list)-comprehensions because I find it easier to read/grok quickly.  Personal preference though, so feel free to leave it as is.

```python
inherited_metadata = {}
for field_name, field in module.fields.iteritems():  # this makes it more clear to me why you are only using the values
    if is_inherited(field):
        inherited_metadata[field_name] = field.read_json(module)
```