python / python/typeshed

asyncio.as_completed as async iterator can yield tasks as well as futures

Offen
#15,644 6 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Vorherrschende Sprache
Python
Sterne
5.1k
Forks
2.1k
Ø Merge
1 T. 19 Std.
Gemergte PRs (30 T.)
82

Beschreibung

According to the 3.13 docs for asyncio.as_completed:

When asynchronous iteration is used, the originally-supplied awaitables are yielded if they are tasks or futures.

The relevant stub, however, has the function yield Futures irrespective of whether it was originally supplied with Futures or Tasks.

https://github.com/python/typeshed/blob/c03c2b926422c82ab680d27f3ad2491845000802/stdlib/asyncio/tasks.pyi#L93

Is there a reason for this or can it be improved to reflect the actual behavior?

Beitragsleitfaden

Beitragsleitfaden öffnen

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 bei stdlib/asyncio/tasks.pyi um Zeile 93 und vergleiche den Stub von as_completed mit der im Issue verlinkten Python-3.13-Dokumentation. Prüfe, wie das Ergebnis des asynchronen Iterators für bereitgestellte Futures und Tasks derzeit typisiert ist, und verifiziere anschließend, dass die endgültige Annotation das dokumentierte Verhalten für beide Fälle widerspiegelt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
python
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
68/100

Neue Issues direkt in Ihr Postfach

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