Description
Describe the behavior you would like added to mBuild
Manage recipes using some configuration file format. I suggest TOML.
This would allow for users to manage recipes using a human readable configuration format and interop nicely with #704. We would need to change the import logic for mbuild to also handle this configuration file.
Describe the solution you'd like
I would recommend something like this syntax
[[recipes]]
plugins = ["special_compound.SpecialCompound"]
other_options = ""
[[recipes]]
plugins = ["number2.Number2"]
other_configs = [
"file1",
"file2"
]
As for location, I think adhering to system standards (Windows, MacOS, and Linux) would be good. We could also add an option to the command line interface proposed in #704 to change the standard location. However, I think the best solution is the other_configs
list presented above that points to other configuration files that can be added via #704. We would need to depend on a TOML file parser in python (of which their are many, TOML) is a simple standard.
Describe alternatives you've considered
YAML or JSON are other options could be used, but I believe that in general YAML is too complicated and parsers are complicated, and JSON doesn't achieve the human readability that TOML does.
@justinGilmer feel free to add any other thoughts you wanted to put from our discussion on this topic.