Refactor python requirements + puppet to support