backporting to python 2, adding requirements.txt