Skip to content

Plugin Detector #290

@uppittu11

Description

@uppittu11

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 #288 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions