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

Python Enhancement Proposals

PEP 320 – Python 2.4 Release Schedule

Autor:
Barry Warsaw, Raymond Hettinger, Anthony Baxter
Status:
Final
Typ:
Informational
Thema:
Release
Erstellt:
29. Juli 2003
Python-Version:
2.4
Post-History:
01. Dez 2004

Inhaltsverzeichnis

Zusammenfassung

Dieses Dokument beschreibt den Entwicklungs- und Release-Zeitplan für Python 2.4. Der Zeitplan befasst sich hauptsächlich mit PEP-Größenobjekten. Kleine Features können bis einschließlich der ersten Beta-Version hinzugefügt werden. Fehler können bis zur endgültigen Veröffentlichung behoben werden.

Es wird mindestens zwei Alpha-Versionen, zwei Beta-Versionen und einen Release Candidate geben. Das Erscheinungsdatum war der 30. November 2004.

Release Manager

Anthony Baxter

Martin von Lowis erstellt die Windows-Installer, Fred die Doku-Pakete, Sean die RPMs.

Release Schedule

  • 9. Juli: Alpha 1 [abgeschlossen]
  • 5./6. August: Alpha 2 [abgeschlossen]
  • 3. September: Alpha 3 [abgeschlossen]
  • 15. Oktober: Beta 1 [abgeschlossen]
  • 3. November: Beta 2 [abgeschlossen]
  • 18. November: Release Candidate 1 [abgeschlossen]
  • 30. November: Final [abgeschlossen]

Abgeschlossene Features für 2.4

  • PEP 218 Eingebaute Set-Objekte.
  • PEP 289 Generator-Ausdrücke.
  • PEP 292 Einfachere String-Substitutionen, die als Modul implementiert werden sollen.
  • PEP 318: Syntax für Funktionen/Methoden-Dekoratoren mit @-Syntax
  • PEP 322 Reverse Iteration.
  • PEP 327: Ein Decimal-Paket für Festkommaarithmetik.
  • PEP 328: Mehrzeilige Imports
  • Kapselung desdecorate-sort-undecorate-Musters in einem Schlüsselwort für list.sort().
  • Hinzugefügt wurde eine eingebaute Funktion namens sorted(), die in Ausdrücken verwendet werden kann.
  • Das Modul itertools enthält zwei neue Funktionen: tee() und groupby().
  • Fügt ein Modul collections mit einem deque()-Objekt hinzu.
  • Fügt zwei statistische/Reduktionsfunktionen, nlargest() und nsmallest(), zum Modul heapq hinzu.
  • Der Windows-Installer von Python verwendet nun MSI

Auf 2.5 verschoben

  • Markierung und/oder Entfernung von Modulen, die in PEP 4 aufgeführt sind (posixfile, gopherlib, pre, others)
  • Entfernen der Unterstützung für Plattformen gemäß PEP 11.
  • Fertigstellung der Implementierung des Distutils bdist_dpkg-Befehls. (AMK)
  • Unterstützung für das Lesen von Shadow-Passwörtern hinzufügen [1]
  • Es wäre schön, wenn der eingebaute SSL-Socket-Typ für nicht-blockierende SSL-E/A verwendet werden könnte. Derzeit müssen Pakete wie Twisted, die asynchrone Server mit SSL implementieren, Drittanbieterpakete wie pyopenssl erfordern.
  • AST-basierter Compiler: Dieser Branch wurde nicht rechtzeitig für 2.4 fertiggestellt, wird aber irgendwann nach der Veröffentlichung von 2.4 Final in den Trunk aufgenommen, um in 2.5 enthalten zu werden.
  • reST wird in Zope3 sehr intensiv genutzt. Könnte es vielleicht ein Standard-Bibliotheksmodul werden? (Da der Autor von reST es für zu instabil hält, neige ich dazu, dies nicht zu tun.)

Laufende Aufgaben

Die folgenden Punkte sind laufende TO-DO-Aufgaben, an denen wir arbeiten sollten, ohne uns auf eine bestimmte Fertigstellungsfrist zu verlassen.

  • Dokumentation: Vervollständigung der Distributions- und Installationshandbücher.
  • Dokumentation: Vervollständigung der Dokumentation für neue Klassen.
  • Überprüfung des Verzeichnisses Demos/ und entsprechende Aktualisierung (Andrew Kuchling hat viel davon erledigt)
  • Neue Tests.
  • Behebung von Doku-Fehlern auf SF.
  • Entfernen der Verwendung von veralteten Features im Kern.
  • Veraltete Features entsprechend dokumentieren.
  • Veraltete C-APIs mit Py_DEPRECATED markieren.
  • Module, die nicht mehr gepflegt werden, als veraltet markieren oder vielleicht eine neue Kategorie "Nicht gepflegt" einführen.
  • Generell viel Aufräumen, um die Weiterentwicklung zu erleichtern.

Offene Themen

Derzeit keine.

Übernommene Features aus Python 2.3

  • Der Import-Lock könnte eine Überarbeitung gebrauchen. [2]
  • Eine schönere API zum Öffnen von Textdateien, die die hässliche (in den Augen mancher) Flagge "U" ersetzt. Es gibt einen Vorschlag für einen neuen eingebauten Typ textfile(filename, mode, encoding). (Sollte er nicht auch ein bufsize-Argument haben?)
  • Neue Widgets für Tkinter???

    Hat jemand die Zeit dafür gefunden? *Gibt* es neue Widgets in Tk 8.4? Beachten Sie, dass wir bereits eine bessere Tix-Unterstützung haben (wenn auch noch nicht unter Windows).

  • PEP 304 (Controlling Generation of Bytecode Files von Montanaro) scheint an Schwung verloren zu haben.
  • Für eine Klasse, die innerhalb einer anderen Klasse definiert ist, sollte __name__ "outer.inner" sein und das Pickling sollte funktionieren. ([3] Ich bin mir nicht mehr sicher, ob das einfach oder überhaupt richtig ist.)
  • Eine klarere Deprecation-Richtlinie (insbesondere für Module) festlegen und umsetzen. Zunächst siehe diese Nachricht von Neal Norwitz [4]. Es scheint nicht genügend Interesse zu geben, dies in organisierter Weise weiter voranzutreiben, und es ist nicht besonders wichtig.
  • Alternativen für gängige Verwendungen des Moduls types anbieten; Skip Montanaro hat einen Proto-PEP für diese Idee veröffentlicht [5]. Soweit ich weiß, gab es keine Fortschritte dabei.
  • Verwendung von "pending deprecation" für die Module types und string. Dies erfordert die Bereitstellung von Alternativen für die Teile, die noch nicht abgedeckt sind (z. B. string.whitespace und types.TracebackType). Es scheint, dass wir hier keinen Konsens erzielen können.
  • PEP 262 Datenbank installierter Python-Pakete (Kuchling)

    Dies erweist sich als nützlich für Jacks Jansens Python-Installer, sodass die Datenbank implementierungswürdig ist. Der Code wird in sandbox/pep262 abgelegt.

  • PEP 269 Pgen-Modul für Python (Riehl)

    (Einige notwendige Änderungen sind erfolgt; das Modul pgen selbst muss sich noch weiterentwickeln.)

  • PEP 266 Optimierung des Zugriffs auf globale Variablen/Attribute (Montanaro)

    PEP 267 Optimierter Zugriff auf Modul-Namespaces (Hylton)

    PEP 280 Optimierung des Zugriffs auf Globale (van Rossum)

    Dies sind im Grunde drei freundlich konkurrierende Vorschläge. Jeremy hat mit einem neuen Compiler einige Fortschritte gemacht, aber es geht langsam voran und der Compiler ist nur der erste Schritt. Vielleicht können wir den Compiler in dieser Version umgestalten. Ich bin versucht zu sagen, dass wir nicht darauf warten werden.

  • Lazy-Verfolgung von Tupeln? [6] [7] Ich glaube, es gibt nicht viel Begeisterung dafür.
  • PEP 286 Verbesserte Argument-Tupel (von Loewis)

    Ich hatte keine Zeit, dies gründlich zu prüfen. Es scheint ein tiefer Optimierungs-Hack zu sein (garantiert aber auch eine bessere Korrektheit).

  • Machen Sie 'as' zu einem Schlüsselwort. Es ist lange genug ein Pseudo-Schlüsselwort. Zu viel Aufwand, um sich darum zu kümmern.

Referenzen


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

Zuletzt geändert: 2025-02-01 08:59:27 GMT