set up for PyPI packaging