python / python/typing

TypedDict with patterns as key names

Offen
#795 8 Kommentare 3 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

topic: feature
Vorherrschende Sprache
Python
Sterne
1.8k
Forks
302
Ø Merge
23 Std.
Gemergte PRs (30 T.)
8

Beschreibung

I'm not sure if I should open an issue here at typing, please let me know if there is something better.

WSGI type defines. https://gist.github.com/abersheeran/f3723029387fe7f6584c6b157b90a50a

When writing a more static WSGI definition based on PEP3333, I discovered such a problem. TypedDict cannot describe the HTTP_* keys in the WSGI specification. I know that one of the original intentions of TypedDict is to prevent typing the wrong keys. But can we add an option (for example: allow_undefined=True) to allow this actual problem?

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne mit der Überprüfung des Verhaltens von TypedDict und der WSGI-Typdefinition im verlinkten gist und verwende PEP3333 als Referenz für die Anforderungen. Ermittle, ob die Unterstützung von HTTP_*-Schlüsselnamen eine neue Option oder ein anderes Typing-Design erfordert, und bestätige den Vorschlag anschließend mit den typing maintainers; als erledigt gilt die Aufgabe, wenn ein akzeptierter Ansatz sowie die entsprechenden Tests oder die entsprechende Dokumentation identifiziert wurden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
devtools
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.