Skip to content

Commit 4e946b7

Browse files
authored
csv.pyi: minor cleanup (#7790)
1 parent 5c6178a commit 4e946b7

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

stdlib/csv.pyi

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
import sys
2+
3+
# actually csv.Dialect is a different class to _csv.Dialect at runtime, but for typing purposes, they're identical
24
from _csv import (
35
QUOTE_ALL as QUOTE_ALL,
46
QUOTE_MINIMAL as QUOTE_MINIMAL,
@@ -19,9 +21,10 @@ from _csv import (
1921
unregister_dialect as unregister_dialect,
2022
writer as writer,
2123
)
22-
from _typeshed import Self
24+
from _typeshed import Self, SupportsWrite
2325
from collections.abc import Collection, Iterable, Iterator, Mapping, Sequence
2426
from typing import Any, Generic, TypeVar, overload
27+
from typing_extensions import Literal
2528

2629
if sys.version_info >= (3, 8):
2730
from builtins import dict as _DictReadMapping
@@ -108,14 +111,14 @@ class DictReader(Generic[_T], Iterator[_DictReadMapping[_T, str]]):
108111
class DictWriter(Generic[_T]):
109112
fieldnames: Collection[_T]
110113
restval: Any | None
111-
extrasaction: str
114+
extrasaction: Literal["raise", "ignore"]
112115
writer: _writer
113116
def __init__(
114117
self,
115-
f: Any,
118+
f: SupportsWrite[str],
116119
fieldnames: Collection[_T],
117120
restval: Any | None = ...,
118-
extrasaction: str = ...,
121+
extrasaction: Literal["raise", "ignore"] = ...,
119122
dialect: _DialectLike = ...,
120123
*args: Any,
121124
**kwds: Any,

0 commit comments

Comments
 (0)