Consider adding LazyIO and friends
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Beginne damit, die vorhandenen Implementierungen von IO und Future sowie die impure API zu lesen; im Issue werden keine bestimmten Dateien genannt. Vergleiche ihr Auswertungsverhalten und definiere anschließend die vorgesehene LazyIO API einschließlich der Retry-Semantik und der Interaktion mit Future. Als abgeschlossen gilt die Aufgabe, wenn ein abgestimmtes Design und Tests vorhanden sind, die verzögerte Ausführung und wiederholte Aufrufe demonstrieren.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
The thing about IO in multiple languages / libraries is that it is lazy.
Our IO is not lazy by design. It is done, so Python developers can use it like so: impure(print)(1) # prints "1"
But, we also need to think about other problems as well:
- Retries, with proper lazy
IOone can retry an operation as many times as one wishes:p = impure_lazy(print)(1); p(); p() # prints "1" twice - Semantical identity to
Future, currently it is not similar to regularIO, becauseFutures are lazy: they don't run until they are executed properly - New users will find the similar data-type they already know from other languages / libraries
- Vorherrschende Sprache
- Python
- Sterne
- 4.4k
- Forks
- 154
- Ø Merge
- 2 Std. 13 Min.
- Gemergte PRs (30 T.)
- 20
Entwicklungsumgebung
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus dry-python/returns
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 48/100
dry-python/returns#2394 · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 52/100
dry-python/returns#2365 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
dry-python/returns#2355 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
dry-python/returns#2295 · 4 Kommentare · 1 Reaktion ·
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 45/100
dry-python/returns#2253 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in dry-python/returns
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-2 Tage Anfängerfreundlichkeit 70/100
-
FingerprintSplitter raises ZeroDivisionError when int(frac_train * len(dataset)) floors to zeroOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 88/100
Maintainer antworten meist innerhalb von 7 Tagen
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
lmstudio-ai/mlx-engine#376 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
pyiron/bagofholding#166 ·