671 lines
17 KiB
Python
671 lines
17 KiB
Python
|
|
# Copyright 2020 The Abseil Authors.
|
||
|
|
#
|
||
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
|
# you may not use this file except in compliance with the License.
|
||
|
|
# You may obtain a copy of the License at
|
||
|
|
#
|
||
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||
|
|
#
|
||
|
|
# Unless required by applicable law or agreed to in writing, software
|
||
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
|
# See the License for the specific language governing permissions and
|
||
|
|
# limitations under the License.
|
||
|
|
"""This modules contains type annotated stubs for DEFINE functions."""
|
||
|
|
|
||
|
|
|
||
|
|
from absl.flags import _argument_parser
|
||
|
|
from absl.flags import _flag
|
||
|
|
from absl.flags import _flagvalues
|
||
|
|
|
||
|
|
import enum
|
||
|
|
|
||
|
|
from typing import Text, List, Any, TypeVar, Optional, Union, Type, Iterable, overload, Literal
|
||
|
|
|
||
|
|
_T = TypeVar('_T')
|
||
|
|
_ET = TypeVar('_ET', bound=enum.Enum)
|
||
|
|
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE(
|
||
|
|
parser: _argument_parser.ArgumentParser[_T],
|
||
|
|
name: Text,
|
||
|
|
default: Any,
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values : _flagvalues.FlagValues = ...,
|
||
|
|
serializer: Optional[_argument_parser.ArgumentSerializer[_T]] = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: Literal[True] = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[_T]:
|
||
|
|
...
|
||
|
|
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE(
|
||
|
|
parser: _argument_parser.ArgumentParser[_T],
|
||
|
|
name: Text,
|
||
|
|
default: Any,
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values : _flagvalues.FlagValues = ...,
|
||
|
|
serializer: Optional[_argument_parser.ArgumentSerializer[_T]] = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[_T]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_flag(
|
||
|
|
flag: _flag.Flag[_T],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: Literal[True] = ...
|
||
|
|
) -> _flagvalues.FlagHolder[_T]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_flag(
|
||
|
|
flag: _flag.Flag[_T],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: bool = ...) -> _flagvalues.FlagHolder[Optional[_T]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
# typing overloads for DEFINE_* methods...
|
||
|
|
#
|
||
|
|
# - DEFINE_* method return FlagHolder[Optional[T]] or FlagHolder[T] depending
|
||
|
|
# on the arguments.
|
||
|
|
# - If the flag value is guaranteed to be not None, the return type is
|
||
|
|
# FlagHolder[T].
|
||
|
|
# - If the flag is required OR has a non-None default, the flag value i
|
||
|
|
# guaranteed to be not None after flag parsing has finished.
|
||
|
|
# The information above is captured with three overloads as follows.
|
||
|
|
#
|
||
|
|
# (if required=True and passed in as a keyword argument,
|
||
|
|
# return type is FlagHolder[Y])
|
||
|
|
# @overload
|
||
|
|
# def DEFINE_xxx(
|
||
|
|
# ... arguments...
|
||
|
|
# default: Union[None, X] = ...,
|
||
|
|
# *,
|
||
|
|
# required: Literal[True]) -> _flagvalues.FlagHolder[Y]:
|
||
|
|
# ...
|
||
|
|
#
|
||
|
|
# (if default=None, return type is FlagHolder[Optional[Y]])
|
||
|
|
# @overload
|
||
|
|
# def DEFINE_xxx(
|
||
|
|
# ... arguments...
|
||
|
|
# default: None,
|
||
|
|
# required: bool = ...) -> _flagvalues.FlagHolder[Optional[Y]]:
|
||
|
|
# ...
|
||
|
|
#
|
||
|
|
# (if default!=None, return type is FlagHolder[Y]):
|
||
|
|
# @overload
|
||
|
|
# def DEFINE_xxx(
|
||
|
|
# ... arguments...
|
||
|
|
# default: X,
|
||
|
|
# required: bool = ...) -> _flagvalues.FlagHolder[Y]:
|
||
|
|
# ...
|
||
|
|
#
|
||
|
|
# where X = type of non-None default values for the flag
|
||
|
|
# and Y = non-None type for flag value
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_string(
|
||
|
|
name: Text,
|
||
|
|
default: Optional[Text],
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Text]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_string(
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[Text]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_string(
|
||
|
|
name: Text,
|
||
|
|
default: Text,
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Text]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_boolean(
|
||
|
|
name : Text,
|
||
|
|
default: Union[None, Text, bool, int],
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[bool]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_boolean(
|
||
|
|
name : Text,
|
||
|
|
default: None,
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[bool]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_boolean(
|
||
|
|
name : Text,
|
||
|
|
default: Union[Text, bool, int],
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[bool]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_float(
|
||
|
|
name: Text,
|
||
|
|
default: Union[None, float, Text],
|
||
|
|
help: Optional[Text],
|
||
|
|
lower_bound: Optional[float] = ...,
|
||
|
|
upper_bound: Optional[float] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[float]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_float(
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
help: Optional[Text],
|
||
|
|
lower_bound: Optional[float] = ...,
|
||
|
|
upper_bound: Optional[float] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[float]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_float(
|
||
|
|
name: Text,
|
||
|
|
default: Union[float, Text],
|
||
|
|
help: Optional[Text],
|
||
|
|
lower_bound: Optional[float] = ...,
|
||
|
|
upper_bound: Optional[float] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[float]:
|
||
|
|
...
|
||
|
|
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_integer(
|
||
|
|
name: Text,
|
||
|
|
default: Union[None, int, Text],
|
||
|
|
help: Optional[Text],
|
||
|
|
lower_bound: Optional[int] = ...,
|
||
|
|
upper_bound: Optional[int] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[int]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_integer(
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
help: Optional[Text],
|
||
|
|
lower_bound: Optional[int] = ...,
|
||
|
|
upper_bound: Optional[int] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[int]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_integer(
|
||
|
|
name: Text,
|
||
|
|
default: Union[int, Text],
|
||
|
|
help: Optional[Text],
|
||
|
|
lower_bound: Optional[int] = ...,
|
||
|
|
upper_bound: Optional[int] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[int]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_enum(
|
||
|
|
name : Text,
|
||
|
|
default: Optional[Text],
|
||
|
|
enum_values: Iterable[Text],
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Text]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_enum(
|
||
|
|
name : Text,
|
||
|
|
default: None,
|
||
|
|
enum_values: Iterable[Text],
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[Text]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_enum(
|
||
|
|
name : Text,
|
||
|
|
default: Text,
|
||
|
|
enum_values: Iterable[Text],
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Text]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_enum_class(
|
||
|
|
name: Text,
|
||
|
|
default: Union[None, _ET, Text],
|
||
|
|
enum_class: Type[_ET],
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
case_sensitive: bool = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[_ET]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_enum_class(
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
enum_class: Type[_ET],
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
case_sensitive: bool = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[_ET]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_enum_class(
|
||
|
|
name: Text,
|
||
|
|
default: Union[_ET, Text],
|
||
|
|
enum_class: Type[_ET],
|
||
|
|
help: Optional[Text],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
case_sensitive: bool = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[_ET]:
|
||
|
|
...
|
||
|
|
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_list(
|
||
|
|
name: Text,
|
||
|
|
default: Union[None, Iterable[Text], Text],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[Text]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_list(
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[List[Text]]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_list(
|
||
|
|
name: Text,
|
||
|
|
default: Union[Iterable[Text], Text],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[Text]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_spaceseplist(
|
||
|
|
name: Text,
|
||
|
|
default: Union[None, Iterable[Text], Text],
|
||
|
|
help: Text,
|
||
|
|
comma_compat: bool = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[Text]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_spaceseplist(
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
help: Text,
|
||
|
|
comma_compat: bool = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[List[Text]]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_spaceseplist(
|
||
|
|
name: Text,
|
||
|
|
default: Union[Iterable[Text], Text],
|
||
|
|
help: Text,
|
||
|
|
comma_compat: bool = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[Text]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi(
|
||
|
|
parser : _argument_parser.ArgumentParser[_T],
|
||
|
|
serializer: _argument_parser.ArgumentSerializer[_T],
|
||
|
|
name: Text,
|
||
|
|
default: Union[None, Iterable[_T], _T, Text],
|
||
|
|
help: Text,
|
||
|
|
flag_values:_flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[_T]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi(
|
||
|
|
parser : _argument_parser.ArgumentParser[_T],
|
||
|
|
serializer: _argument_parser.ArgumentSerializer[_T],
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
help: Text,
|
||
|
|
flag_values:_flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[List[_T]]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi(
|
||
|
|
parser : _argument_parser.ArgumentParser[_T],
|
||
|
|
serializer: _argument_parser.ArgumentSerializer[_T],
|
||
|
|
name: Text,
|
||
|
|
default: Union[Iterable[_T], _T, Text],
|
||
|
|
help: Text,
|
||
|
|
flag_values:_flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[_T]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_string(
|
||
|
|
name: Text,
|
||
|
|
default: Union[None, Iterable[Text], Text],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[Text]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_string(
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[List[Text]]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_string(
|
||
|
|
name: Text,
|
||
|
|
default: Union[Iterable[Text], Text],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[Text]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_integer(
|
||
|
|
name: Text,
|
||
|
|
default: Union[None, Iterable[int], int, Text],
|
||
|
|
help: Text,
|
||
|
|
lower_bound: Optional[int] = ...,
|
||
|
|
upper_bound: Optional[int] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[int]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_integer(
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
help: Text,
|
||
|
|
lower_bound: Optional[int] = ...,
|
||
|
|
upper_bound: Optional[int] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[List[int]]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_integer(
|
||
|
|
name: Text,
|
||
|
|
default: Union[Iterable[int], int, Text],
|
||
|
|
help: Text,
|
||
|
|
lower_bound: Optional[int] = ...,
|
||
|
|
upper_bound: Optional[int] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[int]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_float(
|
||
|
|
name: Text,
|
||
|
|
default: Union[None, Iterable[float], float, Text],
|
||
|
|
help: Text,
|
||
|
|
lower_bound: Optional[float] = ...,
|
||
|
|
upper_bound: Optional[float] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[float]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_float(
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
help: Text,
|
||
|
|
lower_bound: Optional[float] = ...,
|
||
|
|
upper_bound: Optional[float] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[List[float]]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_float(
|
||
|
|
name: Text,
|
||
|
|
default: Union[Iterable[float], float, Text],
|
||
|
|
help: Text,
|
||
|
|
lower_bound: Optional[float] = ...,
|
||
|
|
upper_bound: Optional[float] = ...,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[float]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_enum(
|
||
|
|
name: Text,
|
||
|
|
default: Union[None, Iterable[Text], Text],
|
||
|
|
enum_values: Iterable[Text],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[Text]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_enum(
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
enum_values: Iterable[Text],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[List[Text]]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_enum(
|
||
|
|
name: Text,
|
||
|
|
default: Union[Iterable[Text], Text],
|
||
|
|
enum_values: Iterable[Text],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[Text]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_enum_class(
|
||
|
|
name: Text,
|
||
|
|
# This is separate from `Union[None, _ET, Text]` to avoid a Pytype issue
|
||
|
|
# inferring the return value to FlagHolder[List[Union[_ET, enum.Enum]]]
|
||
|
|
# when an iterable of concrete enum subclasses are used.
|
||
|
|
default: Iterable[_ET],
|
||
|
|
enum_class: Type[_ET],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[_ET]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_enum_class(
|
||
|
|
name: Text,
|
||
|
|
default: Union[None, _ET, Text],
|
||
|
|
enum_class: Type[_ET],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
*,
|
||
|
|
required: Literal[True],
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[_ET]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_enum_class(
|
||
|
|
name: Text,
|
||
|
|
default: None,
|
||
|
|
enum_class: Type[_ET],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[Optional[List[_ET]]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_enum_class(
|
||
|
|
name: Text,
|
||
|
|
# This is separate from `Union[None, _ET, Text]` to avoid a Pytype issue
|
||
|
|
# inferring the return value to FlagHolder[List[Union[_ET, enum.Enum]]]
|
||
|
|
# when an iterable of concrete enum subclasses are used.
|
||
|
|
default: Iterable[_ET],
|
||
|
|
enum_class: Type[_ET],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[_ET]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
@overload
|
||
|
|
def DEFINE_multi_enum_class(
|
||
|
|
name: Text,
|
||
|
|
default: Union[_ET, Text],
|
||
|
|
enum_class: Type[_ET],
|
||
|
|
help: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...,
|
||
|
|
required: bool = ...,
|
||
|
|
**args: Any) -> _flagvalues.FlagHolder[List[_ET]]:
|
||
|
|
...
|
||
|
|
|
||
|
|
|
||
|
|
def DEFINE_alias(
|
||
|
|
name: Text,
|
||
|
|
original_name: Text,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...,
|
||
|
|
module_name: Optional[Text] = ...) -> _flagvalues.FlagHolder[Any]:
|
||
|
|
...
|
||
|
|
|
||
|
|
|
||
|
|
def set_default(flag_holder: _flagvalues.FlagHolder[_T], value: _T) -> None:
|
||
|
|
...
|
||
|
|
|
||
|
|
|
||
|
|
def declare_key_flag(flag_name: Union[Text, _flagvalues.FlagHolder],
|
||
|
|
flag_values: _flagvalues.FlagValues = ...) -> None:
|
||
|
|
...
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
def adopt_module_key_flags(module: Any,
|
||
|
|
flag_values: _flagvalues.FlagValues = ...) -> None:
|
||
|
|
...
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
def disclaim_key_flags() -> None:
|
||
|
|
...
|