PyPI integration