Case handling for `Choice` help output (values forced to lowercase)
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
Reproduce la regresión con lean live deploy --help, comparando Click 8.1.8 con 8.2.0 u 8.2.1. Empiece revisando el comportamiento de Choice de Click y el cambio en el registro de PR #2796. Se considera terminado cuando la salida de ayuda conserva las mayúsculas y minúsculas registradas y el análisis sin distinguir entre mayúsculas y minúsculas sigue funcionando.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Expected Behavior
Values passed to click.Choice should preserve their original casing when displayed in --help output.
Example:
--brokerage [Interactive Brokers|Tradier|Oanda|Bitfinex|Coinbase Advanced Trade|Binance|Zerodha|Samco|Terminal Link|Trading Technologies|Kraken|CharlesSchwab|IQFeed|Polygon|CoinApi|ThetaData|Custom data only|Bybit|TradeStation|Alpaca|Tastytrade|Eze]
Actual Behavior
Since Click 8.2.0, all values are displayed in lowercase, regardless of how they were registered:
--brokerage [paper trading|interactive brokers|tradier|oanda|bitfinex|coinbase advanced trade|binance|zerodha|samco|terminal link|trading technologies|kraken|charlesschwab|bybit|tradestation|alpaca|tastytrade|eze]
This misleads users into thinking only lowercase values are accepted.
Potential Solution
- create custom class
MyChoice(Choice)override get_metavar(...)
- Continue using case-folding for parsing input when case_sensitive=False.
- The regression likely comes from PR #2796, which lowercases values when registering.
Reproducing the Problem
-
run:
lean live deploy --help -
Click 8.1.8: casing preserved ✅
-
Click 8.2.0+: values all lowercase ❌
System Information
- Click version(s): 8.2.0, 8.2.1 (regression)
- Last working version: 8.1.8
- OS: All (confirmed on Windows 10, Ubuntu 22.04)
- Python: 3.11
Checklist
- I have completely filled out this template
- I have confirmed that this issue exists on the current
masterbranch - I have confirmed that this is not a duplicate issue by searching issues
- I have provided detailed steps to reproduce the issue
- Lenguaje dominante
- Python
- Estrellas
- 327
- Forks
- 169
- Merge medio
- 8 d 5 h
- PR fusionados (30 d)
- 1
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de QuantConnect/lean-cli
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
QuantConnect/lean-cli#661 · 1 comentario ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
QuantConnect/lean-cli#619 ·
-
Implements AutocompleteQuizá libre de nuevo @shreejaykurhade la tomó hace 189 días y no hay ningún pull request abierto. Abiertofeature
QuantConnect/lean-cli#602 · 6 comentarios · 3 reacciones · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
QuantConnect/lean-cli#579 ·
-
bug feature
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
QuantConnect/lean-cli#574 · 1 comentario · 1 reacción ·
Todos los issues de QuantConnect/lean-cli
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
raullenchai/Rapid-MLX#4042 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
LearningCircuit/local-deep-research#7067 ·
Los mantenedores suelen responder en 1 día
-
#bug
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
apache/superset#44923 · 1 comentario ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
lawndoc/stack-back#123 ·