Marvin uses his own code to generate the engines. I would like to propose the use of the Cookiecutter library. It is an interesting approach with several features included that could easily compose a strategy to allow third parties to develop plugins. This would contribute to, for example, contributions like those in AutoML being made separately from the main development and not making things bloated. Some plugins could include custom serializers for different platforms, like Keras, and make it easier to use.
The Cookiecutter library is under BSD license, which is very permissive. Project documentation link: https://cookiecutter.readthedocs.io/