foyer icon indicating copy to clipboard operation
foyer copied to clipboard

Plugin Detector

Open uppittu11 opened this issue 5 years ago • 0 comments

Describe the behavior you would like added to Foyer A plugin detector within foyer that will detect all of the foyer plugins installed in the environment. We would also want convenient way to access all of the information about a plugin. See #288.

Additional context

In my view, ideally we would have a global dict of the installed plugins, so then we can call a variable (foyer.plugins or something like that) and it outputs the dict of the installed plugins and all of their info (like version, pointer to loader function, and location of xml, etc).

>>> import foyer
>>> foyer.plugins
{
"oplsaa" : {"version" : "0.0.3", "loader_function" : foyer.forcefields.load_OPLSAA, "path" : "/path/to/oplsaa.xml"}, 
"trappe-ua" : {"version" : "0.0.5", "loader_function" : foyer.forcefields.load_TRAPPE_UA, "path" : "/path/to/trappe_ua.xml"}, 
"perfluoroethers" : {"version" : "loader_function" : "0.0.1", foyer.forcefields.load_PFE, "path" : "/path/to/perfluoroethers.xml"}
}

This way we can easily check what forcefields are installed and these would be the only forcefields tested.

Originally posted by @uppittu11 in https://github.com/mosdef-hub/foyer/pull/288#issuecomment-548465083

uppittu11 avatar Oct 31 '19 17:10 uppittu11