Incompatible typing for `logging.Formatter.converter` and `time.gmtime`/`time/localtime` ?
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 50/100
Direzione di ricerca
Inizia con stdlib/logging/init.pyi e stdlib/time.pyi in corrispondenza delle definizioni referenziate, quindi riproduci l’assegnazione con mypy usando l’esempio nell’issue. Verifica perché le due annotazioni di tipo chiamabile vengono trattate come incompatibili e aggiorna la tipizzazione dello stub pertinente in modo che l’esempio superi il controllo dei tipi senza un errore di assegnazione.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The typing for converter here is as follows:
converter: Callable[[float | None], struct_time]
And the typing for time.gmtime/time.localtime here is:
def gmtime(seconds: float | None = None, /) -> struct_time: ...
def localtime(seconds: float | None = None, /) -> struct_time: ...
Yet when I try to typecheck this code:
import logging
import time
class UTCFormatter(logging.Formatter):
converter = time.gmtime
I get the following error:
$ mypy main.py
main.py:5: error: Incompatible types in assignment (expression has type "Callable[[], struct_time]", base class "Formatter" defined the type as "Callable[[float | None], struct_time]") [assignment]
Found 1 error in 1 file (checked 1 source file)
I tested this on a fresh python3.13 venv with the following deps installed:
mypy==1.18.2
mypy_extensions==1.1.0
pathspec==0.12.1
typing_extensions==4.15.0
- Lingua principale
- Python
- Stelle
- 5.1k
- Fork
- 2.1k
- Merge medio
- 2g 7m
- PR unite (30g)
- 116
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
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 python/typeshed
-
`networkx.set_edge_attributes` should support scalar value + nameForse già presa @Fire162 l’ha presa 9 giorni fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
I maintainer di solito rispondono entro 1 giorno
-
false alarm on decode callForse già presa @jw9829 l’ha presa 37 giorni fa. Apertahelp wanted stubs: false positive
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
python/typeshed#16441 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Don't run pyright basic checks on projects with strict pyright settings in CIForse già presa @Mohith1612 l’ha presa 73 giorni fa. Apertaproject: infrastructure
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
python/typeshed#16005 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
stubs: improvement
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
python/typeshed#15548 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
stubs: improvement
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
python/typeshed#15529 · 5 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di python/typeshed
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
elviskahoro/sdk-python-attio#144 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
RenyiELBO raises TypeError when model has no sample sitesForse già presa @alibb007 l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: Four evaluation scripts unpack init_memmachine_params's five return values into three namesAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
MemMachine/MemMachine#1911 ·
I maintainer di solito rispondono entro 3 giorni