Here’s a framework we’ve been developing for this purpose, delivered as a python cookiecutter:
https://github.com/hackalog/cookiecutter-easydata
The framework makes use of conda environments, python 3.6+, makefiles, and jupyter notebooks, so if that tooling fits into your data/ML workflow.
We gave a tutorial on the framework at Pydata NYC, and it’s still very much in active development - we refine it with every new project we work on. The tutorial is available from:
https://github.com/hackalog/bus_number
While it works well for our projects, the more real-world projects we throw at it, the better the tooling gets, so we’d love to hear from anyone who want to give it a shot.