add: PyPI integration