foyer
foyer copied to clipboard
Plugin Detector
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 thedict
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