Mentions légales du service

Skip to content

Plugin interface improvements: load config schemas from plugins

E. Madison Bray requested to merge embray/schema-plugins into master

This allows config schemas to use a special URI schema called dnadna-plugin: to reference config schemas provided by plugins.

This also allows customization of the schemas used to check a whole class of plugins. For example, you can see in training.yml it now references {"$ref": "dnadna-plugin:network"}.

This loads a schema generated by the Network interface which checks that network_name is one of the known Networks (including those loaded from plugins), and that its net_params conform to the configuration schema for that network (if any; it can still be omitted as before).

This provides a powerful mechanism by which plugins can extend the configuration system and config file formats.

It will be useful for #48 since it will allow the configuration wizard to take the user through the correct options depending on what network they want to use, for example.

This MR is built on top of !66 (merged) which should be merged first.

Merge request reports