Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Consider adding LazyIO and friends

Ouverte
#525 4 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
python
Domaine
backend

Piste de recherche

Commencez par lire les implémentations existantes de IO et Future ainsi que l’API impure ; l’issue ne nomme pas de fichiers spécifiques. Comparez leur comportement d’évaluation, puis définissez l’API LazyIO prévue, y compris la sémantique des retries et l’interaction avec Future. La tâche est terminée lorsqu’un design convenu et des tests démontrant l’exécution différée et les invocations répétées sont disponibles.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

enhancement

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:

  1. Retries, with proper lazy IO one can retry an operation as many times as one wishes: p = impure_lazy(print)(1); p(); p() # prints "1" twice
  2. Semantical identity to Future, currently it is not similar to regular IO, because Futures are lazy: they don't run until they are executed properly
  3. New users will find the similar data-type they already know from other languages / libraries
Langage dominant
Python
Étoiles
4.4k
Forks
156
Merge moyen
3 h 44 min
PR mergées (30 j)
22

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de dry-python/returns

Toutes les issues de dry-python/returns

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.