Skip to content

Commit

Permalink
Typeshed cherry-pick: Drop some literal types from argparse (add_argu…
Browse files Browse the repository at this point in the history
…ment) (#7614) (#12576)

From python/typeshed#7614.
  • Loading branch information
JukkaL authored Apr 13, 2022
1 parent 74df7fb commit 1cccb0b
Showing 1 changed file with 11 additions and 5 deletions.
16 changes: 11 additions & 5 deletions mypy/typeshed/stdlib/argparse.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,15 @@ _T = TypeVar("_T")
_ActionT = TypeVar("_ActionT", bound=Action)
_ArgumentParserT = TypeVar("_ArgumentParserT", bound=ArgumentParser)
_N = TypeVar("_N")
# more precisely, Literal["store", "store_const", "store_true",
# "store_false", "append", "append_const", "count", "help", "version",
# "extend"], but using this would make it hard to annotate callers
# that don't use a literal argument
_ActionStr = str
# more precisely, Literal["?", "*", "+", "...", "A...",
# "==SUPPRESS=="], but using this would make it hard to annotate
# callers that don't use a literal argument
_NArgsStr = str

ONE_OR_MORE: Literal["+"]
OPTIONAL: Literal["?"]
Expand Down Expand Up @@ -106,11 +115,8 @@ class _ActionsContainer:
def add_argument(
self,
*name_or_flags: str,
action: Literal[
"store", "store_const", "store_true", "store_false", "append", "append_const", "count", "help", "version", "extend"
]
| type[Action] = ...,
nargs: int | Literal["?", "*", "+", "...", "A...", "==SUPPRESS=="] | _SUPPRESS_T = ...,
action: _ActionStr | type[Action] = ...,
nargs: int | _NArgsStr | _SUPPRESS_T = ...,
const: Any = ...,
default: Any = ...,
type: Callable[[str], _T] | FileType = ...,
Expand Down

0 comments on commit 1cccb0b

Please sign in to comment.