Python Package Index

Der Python Package Index, kurz PyPI, ist das zentrale Online-Lager für fertige Zusatzbausteine der Programmiersprache Python. Wer ein Programm schreibt, lädt sich dort mit einem einzigen Befehl fremden Code herunter, statt alles selbst zu bauen.

Python ist eine Programmiersprache, also eine Art, einem Computer Anweisungen zu geben. Sie wird besonders oft für KI-Software, Webseiten und Datenauswertung benutzt. Wer damit etwas baut, muss nicht bei null anfangen. Andere Leute haben ihre fertigen Code-Bausteine bereits veröffentlicht, und zwar an einer zentralen Stelle im Internet: dem Python Package Index, abgekürzt PyPI. Man kann ihn sich als riesigen App-Store vorstellen, nur nicht für Handy-Apps, sondern für Programmbausteine. Über 600.000 solcher Bausteine liegen dort bereit, kostenlos und für jeden abrufbar.

Warum kaum ein Python-Projekt ohne PyPI auskommt

Fast jede moderne Software besteht zum größten Teil aus fremdem Code. Wer eine Tabelle auswerten will, schreibt keine eigene Tabellenlogik, sondern lädt das Paket pandas herunter. Wer ein KI-Modell trainieren will, holt sich PyTorch oder TensorFlow. Diese Pakete sind über Jahre gewachsen und stecken voller Arbeit, die man sich spart. Ein Projekt, das zwanzig solcher Pakete benutzt, ist völlig normal.

Genau daraus entsteht aber auch ein Risiko. Wenn Millionen Programme dasselbe Paket verwenden, hängt sehr viel an sehr wenigen Leuten. Manche wichtige Pakete werden von einer einzigen Person in ihrer Freizeit gepflegt. Fällt diese Person aus oder verliert die Lust, steht ein Stück der weltweiten Software-Landschaft still.

Dazu kommt die Sicherheitsfrage. Jeder darf auf PyPI etwas hochladen, es gibt keine inhaltliche Prüfung vorab. Angreifer nutzen das aus und laden Schadsoftware unter Namen hoch, die bekannten Paketen ähneln. Tippt jemand statt « requests » versehentlich « reqeusts », installiert er im schlimmsten Fall ein Programm, das Passwörter stiehlt. Diese Masche heißt Typosquatting und wird regelmäßig entdeckt.

Vom pip-Befehl bis zum installierten Paket

Der Zugang läuft über ein Werkzeug namens pip, das bei Python bereits mitgeliefert wird. Man tippt in die Kommandozeile den Befehl « pip install requests ». Pip fragt daraufhin bei PyPI nach, ob es ein Paket dieses Namens gibt. Es lädt die Datei herunter und legt sie an der richtigen Stelle auf dem Computer ab. Danach kann das eigene Programm diesen Code benutzen.

Meist bleibt es nicht bei einem Paket. Viele Pakete brauchen selbst wieder andere Pakete, um zu funktionieren. Diese Kette nennt man Abhängigkeiten. Pip löst sie automatisch auf und installiert alles Nötige gleich mit. Aus einem einzigen Befehl können so schnell dreißig heruntergeladene Pakete werden.

Wer selbst etwas veröffentlichen will, packt seinen Code in ein festgelegtes Format und lädt ihn hoch. Dazu gehören ein eindeutiger Name, eine Versionsnummer und eine Beschreibung. Die Versionsnummer ist wichtig, weil Projekte oft eine ganz bestimmte Version brauchen. Ein Update kann nämlich Dinge verändern, auf die sich alter Code verlassen hat.

PyPI in News, Studium und KI-Projekten

Im Informatikunterricht oder in einem Online-Kurs begegnet dir PyPI spätestens beim ersten größeren Projekt. Sobald eine Anleitung sagt « installiere zuerst dieses Paket », steckt PyPI dahinter. Auch bei KI-Experimenten mit Bilderkennung oder Sprachmodellen führt der erste Schritt fast immer über einen pip-Befehl.

In Tech-Nachrichten taucht PyPI meist im Zusammenhang mit Angriffen auf. Immer wieder werden Hunderte gefälschter Pakete entdeckt und gelöscht. Fachleute sprechen dann von einem Angriff auf die Lieferkette der Software, weil der Schadcode nicht direkt beim Opfer landet, sondern über einen Baustein, dem alle vertrauen. Als Reaktion verlangt PyPI inzwischen von den Betreibern wichtiger Pakete eine Zwei-Faktor-Anmeldung.

Wichtig ist die Abgrenzung zu ähnlichen Diensten anderer Sprachen. Für JavaScript gibt es npm, für Java Maven Central, für Rust crates.io. Das Prinzip ist überall dasselbe, nur die Sprache unterscheidet sich. Wer das Konzept einmal an PyPI verstanden hat, findet sich auch dort schnell zurecht.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.