Following system colour scheme Selected dark colour scheme Selected light colour scheme

Python Enhancement Proposals

PEP 206 – Python Advanced Library

Autor:
A.M. Kuchling <amk at amk.ca>
Status:
Zurückgezogen
Typ:
Informational
Erstellt:
14-Jul-2000
Post-History:


Inhaltsverzeichnis

Wichtig

Diese PEP wurde zurückgezogen.

×

Einleitung

Dieses PEP beschreibt die Python Advanced Library, eine Sammlung von hochwertigen und häufig verwendeten Drittanbieter-Erweiterungsmodulen.

Philosophie der „Batteries Included“

Die Python-Quellcode-Distribution hat seit langem die Philosophie „Batteries Included“ (Batterien inklusive) gepflegt – sie verfügt über eine reichhaltige und vielseitige Standardbibliothek, die sofort verfügbar ist, ohne dass der Benutzer separate Pakete herunterladen muss. Dies verschafft der Python-Sprache in vielen Projekten einen Vorsprung.

Die Module der Standardbibliothek sind jedoch nicht immer die beste Wahl für eine Aufgabe. Einige Bibliotheksmodule waren schnelle Hacks (z.B. calendar, commands), einige wurden schlecht konzipiert und sind jetzt nahezu unmöglich zu reparieren (cgi), und einige sind durch andere, vollständigere Module obsolet geworden (binascii bietet dieselben Funktionen wie die Module binhex, uu und base64). Dieses PEP beschreibt eine Liste von Drittanbieter-Modulen, die Python für verschiedene Anwendungsdomänen wettbewerbsfähiger machen und die Python Advanced Library bilden.

Das Ergebnis ist eine Reihe von Skripten, die die Pakete für eine bestimmte Anwendungsdomäne abrufen, erstellen und installieren. Das Python Package Index enthält nun genügend Informationen, um Software automatisch Pakete finden und herunterladen zu lassen, sodass die Zeit reif ist, dies zu implementieren.

Derzeit schlägt dieses Dokument nicht vor, Module aus der Standardbibliothek zu *entfernen*, die durch ein Drittanbieter-Modul ersetzt wurden. Das ist schwierig zu tun, da es viele Probleme mit der Abwärtskompatibilität mit sich bringt, daher lohnt es sich jetzt nicht, sich damit zu befassen.

Bitte schlagen Sie zusätzliche interessante Domänen vor.

Domäne: Web-Aufgaben

XML-Parsing: ElementTree + SAX.

URL-Abruf: libcurl? andere Möglichkeiten?

HTML-Parsing: mxTidy? HTMLParser?

Asynchrone Netzwerk-I/O: Twisted

RDF-Parser: ???

HTTP-Bereitstellung: ???

HTTP-Cookie-Verarbeitung: ???

Web-Framework: Ein WSGI-Gateway, vielleicht? Paste?

Grafik: PIL, Chaco.

Domäne: Wissenschaftliches Programmieren

Numerik: Numeric, SciPy

Grafik: PIL, Chaco.

Domäne: Anwendungsentwicklung

GUI-Toolkit: ???

Grafik: Reportlab zur PDF-Generierung.

Domäne: Bildung

Grafik: PyGame

Software unter der GNU General Public License

Einige dieser Drittanbieter-Module fallen unter die GNU General Public License und die GNU Lesser General Public License. Die Bereitstellung eines Skripts zum Herunterladen und Installieren solcher Pakete oder sogar das Zusammenfassen all dieser Pakete in einem einzigen Tarball oder einer CD-ROM sollte keine Schwierigkeiten mit der GPL unter der Klausel der „bloßen Aggregation“ der Lizenz verursachen.

Offene Fragen

Welche anderen Anwendungsdomänen sind wichtig?

Sollte dies nur eine Reihe von Ubuntu- oder Debian-Paketen sein? Das Kompilieren von Dingen wie PyGame kann sehr kompliziert sein und zu schwierig zu automatisieren sein.

Danksagungen

Das PEP basiert auf einem früheren Entwurf eines PEP von Moshe Zadka mit dem Titel „2.0 Batteries Included“.


Quelle: https://github.com/python/peps/blob/main/peps/pep-0206.rst

Zuletzt geändert: 2024-04-14 13:35:25 GMT