jharwell / sierra

Automation framework for the scientific method in AI research
MIT License
18 stars 1 forks source link

feature/132-plugin-framework #132

Closed jharwell closed 4 years ago

jharwell commented 5 years ago

Sort of refactoring, but significant enough that it warrants a feature tag.

As I begin to transition out of the fordyca project and into my next project involving robotic construction, I need to pull out everything that is fordyca specific, and possibly do some refactoring of the "core" sierra so that it is more project agnostic.

My idea is to create a plugins/ directory in the root of sierra, with subdirs for each project. During start up, sierra will search the plugins/ directory and load the module(s) specified on the command line (probably would only be accessible outside their plugin directory if prefixed with the directory name plus a '.' to ensure no namespace collisions). The structure of each plugin directory would be:

Some of these (like config) are going to need to have very specific structures/files/contents, but that is something I will have to figure out as I go.