Da PyPI häufig von Clients wie zc.buildout, setuptools oder pip verwendet wird, sollten diese das Mirroring-Protokoll PEP381 unterstützen.
Bei einem verteilten System sollten PyPI-Clients überprüfen können, ob die gespiegelten Kopien der Pakete authentisch sind. Zudem sollten sie auf die folgenden Bedrohungen vorbereitet sein:
Um auf das erste Szenario vorbereitet zu sein, können die Autoren ihr Paket mit ihrem PGP-Schlüssel signieren, sodass die Nutzer zumindest überprüfen können, ob das Paket von einem Autor kommt, dem sie vertrauen.
Die PyPI-Clients sollten in der Lage sein, zu überprüfen, ob die Pakete mit dem PGP-Schlüssel des angegebenen Autors signiert sind.
Für das dritte und vierte Szenario ist den Clients folgendes Vorgehen zum Überprüfen der Pakete empfohlen:
Eine Beispielimplementierung finden Sie in verify.py
Diese Überprüfung ist jedoch nicht notwendig, wenn vom Master-PyPI heruntergeladen wird.