added python wheel generation and PyPI upload