A way to relax param-spec -- AnyLike
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
- 35/100
Piste de recherche
Commencez par lire typing issue 1506 et la proposition d'utilisation de AnyLike pour client.submit de Dask. Définissez la sémantique attendue de P.args et P.kwargs, notamment le nombre d'arguments et les noms des mots-clés, et examinez comment la proposition s'intègre au comportement existant de ParamSpec ; le travail sera terminé lorsqu'une spécification convenue pour la nouvelle special form sera établie.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
What what i would really like is https://github.com/python/typing/issues/1506
however mapping types is pretty complex and general.
Consider something like Dask's client.submit
submit[T, **P](self, func: Callable[P, T], *args: P.args, **kwargs: P.kwargs) -> Future[T]
What it actually wants is any type in the outer arguments can be
either the original type Q, in P.args or P.kwargs, or Future[Q].
But specifying that is a bit fiddly.
A less complex thing would be to introduce a special form AnyLike
which can be run as
submit[T, **P](self, func: Callable[P, T], *args: AnyLike[P].args, **kwargs: AnyLike[P].kwargs) -> Future[T]
which would have the effect of allowing the types in
args to be Any but the number must match that in the paramspec P,
and similar the types in kwargs can be Any but the names must till match those in the paramspec P
- Langage dominant
- Python
- Étoiles
- 1.8k
- Forks
- 302
- Merge moyen
- 4 h 16 min
- PR mergées (30 j)
- 7
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de python/typing
-
topic: typing spec
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
python/typing#2356 · 2 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
topic: typing spec
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
topic: documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
python/typing#2227 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
topic: documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
python/typing#2150 · 2 commentaires · 2 réactions ·
Les mainteneurs répondent en général sous 1 jour
-
topic: conformance tests topic: typing spec
Difficulté 3/5 1-2 jours Accessibilité débutants 72/100
python/typing#2351 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de python/typing
Issues similaires
-
comp/tools duplicate P2 sweeper:risk-compatibility tool/mcp type/bug
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
NousResearch/hermes-agent#132042 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
deepset-ai/haystack#13092 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
EverMind-AI/Raven#845 ·
Les mainteneurs répondent en général sous 1 jour
-
[Feature] 移除「切换到旧版知识库」入口Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
AstrBotDevs/AstrBot#10340 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
BasedHardware/omi#20401 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour