binance / binance/binance-connector-python
Type hint mismatch for list API responses
- Lingua principale
- Python
- Stelle
- 2.9k
- Fork
- 699
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Hi! I’m currently using the `binance-sdk-derivatives-trading-usds-futures` SDK while migrating from the deprecated version.
I noticed that the return type of the USD Futures API is always annotated as `ApiResponse[T]`, but in cases where the response is a top-level list, the actual return type is `ApiResponse[list[T]]`.
Is this intentional?
```python
def send_request(...):
...
if (is_list and not is_flat_list) or not response_model:
data_function = lambda: parsed
elif is_oneof or is_list:
data_function = lambda: response_model.from_dict(parsed)
else:
data_function = lambda: response_model.model_validate(parsed)
```
```python
@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[list[Self]]:
"""Create an instance of Ticker24hrResponse2 from a dict"""
return [cls.model_validate(item) for item in obj]
```
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Inizia leggendo il punto di ingresso send_request e l'esempio Ticker24hrResponse2.from_dict nell'issue, quindi traccia il modo in cui vengono annotate e analizzate le risposte di primo livello costituite da liste. Il lavoro è completato quando il tipo restituito dichiarato corrisponde al comportamento a runtime di ApiResponse[list[T]] per le risposte costituite da liste, senza modificare la gestione delle altre forme di risposta.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- api
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 58/100