The soclib-cc internal representation of metadata is abstract to their actual format and parsing. The module descriptions are pluggable and can be external to soclib core library.
In order to inject module metadata in soclib-cc, Metadata providers have to provide a Python module which define a limited set of entry points.
These providers all return Module objects, which contain abstract representation of metadata of a component. Objects must abide a limited set of methods described in Module protocols.
When creating modules, parameters are sometimes needed. They are described in Parameters.