Kataloganforderungen
Kataloganforderungen
Es sind einige Schritte erforderlich, um ein Paket zu finden und zu installieren
- Entdeckung: Welches Modul macht, was ich brauche?
- Download: Wo bekomme ich eine Kopie?
- Sicherheit: Stammt dies wirklich vom Paketautor und nicht von einem Trojaner?
- Installation: Wie kompiliere ich das Paket, installiere es und richte es ein?
- Aktualisierung: Was ist die neueste Version eines Pakets? Muss ich eine aktualisierte Version für mein System besorgen?
Die Distutils SIG konzentriert sich auf den schwierigsten und kompliziertesten Schritt, Nr. 4, sodass sich die Catalog SIG nicht wirklich mit diesem Problem befassen muss.
Anforderungen aus Nr. 1
1.1) Benutzer können eine Liste verfügbarer Pakete durchsuchen, eine Hierarchie wie Parnassus durchsuchen oder nach Stichwörtern suchen.
1.2) Pakete sind auch nach Autor und Datum indiziert, sodass Sie alle Pakete von Moshe oder die 10 zuletzt geänderten Pakete sehen können.
1.3) Für jeden Autor werden sein Name, seine E-Mail-Adresse und die URL seiner Homepage gespeichert.
1.4) Informationen über ein Paket werden nur aus den Metadaten extrahiert, die in der setup.py-Datei des Pakets enthalten sind. Dies stellt sicher, dass die Informationen aktuell sind, spart dem Benutzer die Mühe der Dateneingabe und ermutigt die Leute, Distutils zu verwenden.
Anforderungen aus Nr. 2
2.1) Bei einem Paketnamen kann die Software eine oder mehrere Download-URLs für das Paket abrufen.
2.2) Der Katalog sollte Kopien des Codes aufbewahren, nicht nur auf entfernte Seiten verweisen, um Katastrophen zu verhindern
2.3) Es sollte möglich sein, den Katalog ohne größere Schwierigkeiten zu spiegeln, indem ein herkömmliches FTP- oder HTTP-Spiegelungsskript verwendet wird.
Anforderungen aus Nr. 3
3.1) Benutzer können eine Signatur auf dem heruntergeladenen Paket überprüfen, indem sie ein externes Tool wie GnuPG verwenden.
3.2) Die Überprüfung der Signatur ist optional und kann übersprungen werden, wenn das externe Tool nicht verfügbar ist. (Wir könnten ein eigenes Signaturschema mit Python-Code implementieren, aber das ist eine schlechte Idee; Sicherheit ist schwierig und nur wenige Leute werden sich die Mühe machen, Schlüssel zu generieren, die nur für die Verteilung von Python-Modulen nützlich sind.
Zugehörige Anforderung: Die Distutils sdist- und bdist_*-Befehle sollten einen --sign-Schalter haben, um die generierte .tgz-, .rpm- oder beliebige Datei zu signieren.
Anforderungen aus Nr. 4
Keine
Anforderungen aus Nr. 5
Nicht auf dieser Seite behandelt. Dies beinhaltet die Überprüfung auf aktualisierte Versionen, die Verfolgung von Abhängigkeiten zwischen Python-Paketen und zwischen Python-Paketen und Systembibliotheken. Dies scheinen schwierige Probleme zu sein, die eine Datenbank der auf einem System installierten Python-Pakete erfordern.
Information about a package =========================== Name Version Supported Platforms Description Keywords Homepage URL Author IDs License Download link Date of release Left out for now: Dependency information Information about an author =========================== Name Home page GnuPG/PGP key (both the actual key, and just the ID) E-mail address (used as ID?) E-mail address public: y/n Information about a document ============================ Name Author Description URL of HTML version URL of printable version URL and format of downloadable version (Any of these URLs can be omitted if not applicable.)
