Add support for argument choices, like argparse
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Start at the task decorator and its existing help option handling. Trace where task option values are parsed, then compare the requested choices behavior with argparse; done means choices can be declared there and invalid values are handled consistently.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
I have a ton of use cases where it would be beneficial to be able to define the valid choices for an option, much like argparse can:
https://docs.python.org/3/library/argparse.html#choices
My suggestion would be to add this as a map to the task decorator similiar to how help works now:
@task(choices={'foo': ['a', 'b', 'c']})
def mytask(c, foo):
# stuff
- Lingua principale
- Python
- Stelle
- 4.8k
- Fork
- 412
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di pyinvoke/invoke
-
[Security] Shell injection via Context.cd() path argument — metacharacters not escaped (CWE-78)Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
Tutte le issue di pyinvoke/invoke
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
PedestrianDynamics/pyFDS-Evac#199 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
521xueweihan/HelloGitHub#3790 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
sandialabs/atlas-ui-3#978 ·
I maintainer di solito rispondono entro 1 giorno
-
area: tests perceived difficulty: 2
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
Nitjsefnie-Harness-Commons/daedalus#1255 ·
I maintainer di solito rispondono entro 1 giorno
-
hf-audiolm-qwen: `generate_until` hardcodes `.to("cuda")` and aborts on non-CUDA acceleratorsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
EleutherAI/lm-evaluation-harness#4256 ·
I maintainer di solito rispondono entro 1 giorno