From 8e9c53f1db94ede4ff8621dc7e89ae0fb0d3c931 Mon Sep 17 00:00:00 2001 From: Alex Jurkiewicz Date: Sat, 24 Dec 2016 14:11:34 +1100 Subject: [PATCH] Add basic stub for characteristic (#771) See https://characteristic.readthedocs.io/en/stable/ --- third_party/2and3/characteristic/__init__.pyi | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 third_party/2and3/characteristic/__init__.pyi diff --git a/third_party/2and3/characteristic/__init__.pyi b/third_party/2and3/characteristic/__init__.pyi new file mode 100644 index 000000000..07e0f6031 --- /dev/null +++ b/third_party/2and3/characteristic/__init__.pyi @@ -0,0 +1,34 @@ +from typing import Sequence, Callable, Union, Any, Optional, AnyStr, TypeVar, Type + +def with_repr(attrs: Sequence[Union[AnyStr, Attribute]]) -> Callable[..., Any]: ... +def with_cmp(attrs: Sequence[Union[AnyStr, Attribute]]) -> Callable[..., Any]: ... +def with_init(attrs: Sequence[Union[AnyStr, Attribute]]) -> Callable[..., Any]: ... +def immutable(attrs: Sequence[Union[AnyStr, Attribute]]) -> Callable[..., Any]: ... + +def strip_leading_underscores(attribute_name: AnyStr) -> AnyStr: ... + +NOTHING = Any + +T = TypeVar('T') + +def attributes( + attrs: Sequence[Union[AnyStr, Attribute]], + apply_with_cmp: bool = True, + apply_with_init: bool = True, + apply_with_repr: bool = True, + apply_immutable: bool = False, + store_attributes: Optional[Callable[[type, Attribute], Any]] = None, + **kw: Optional[dict]) -> Callable[[Type[T]], Type[T]]: ... + +class Attribute: + def __init__( + self, + name: AnyStr, + exclude_from_cmp: bool = False, + exclude_from_init: bool = False, + exclude_from_repr: bool = False, + exclude_from_immutable: bool = False, + default_value: Any = NOTHING, + default_factory: Optional[Callable[[None], Any]] = None, + instance_of: Optional[Any] = None, + init_aliaser: Optional[Callable[[AnyStr], AnyStr]] = strip_leading_underscores) -> None: ...