| | import enum |
| | import sys |
| |
|
| | from typing import ( |
| | Any, |
| | Callable, |
| | Generic, |
| | Literal, |
| | Mapping, |
| | Protocol, |
| | Sequence, |
| | TypeVar, |
| | overload, |
| | ) |
| |
|
| | |
| | from . import converters as converters |
| | from . import exceptions as exceptions |
| | from . import filters as filters |
| | from . import setters as setters |
| | from . import validators as validators |
| | from ._cmp import cmp_using as cmp_using |
| | from ._typing_compat import AttrsInstance_ |
| | from ._version_info import VersionInfo |
| | from attrs import ( |
| | define as define, |
| | field as field, |
| | mutable as mutable, |
| | frozen as frozen, |
| | _EqOrderType, |
| | _ValidatorType, |
| | _ConverterType, |
| | _ReprArgType, |
| | _OnSetAttrType, |
| | _OnSetAttrArgType, |
| | _FieldTransformer, |
| | _ValidatorArgType, |
| | ) |
| |
|
| | if sys.version_info >= (3, 10): |
| | from typing import TypeGuard, TypeAlias |
| | else: |
| | from typing_extensions import TypeGuard, TypeAlias |
| |
|
| | if sys.version_info >= (3, 11): |
| | from typing import dataclass_transform |
| | else: |
| | from typing_extensions import dataclass_transform |
| |
|
| | __version__: str |
| | __version_info__: VersionInfo |
| | __title__: str |
| | __description__: str |
| | __url__: str |
| | __uri__: str |
| | __author__: str |
| | __email__: str |
| | __license__: str |
| | __copyright__: str |
| |
|
| | _T = TypeVar("_T") |
| | _C = TypeVar("_C", bound=type) |
| |
|
| | _FilterType = Callable[["Attribute[_T]", _T], bool] |
| |
|
| | |
| | class AttrsInstance(AttrsInstance_, Protocol): |
| | pass |
| |
|
| | _A = TypeVar("_A", bound=type[AttrsInstance]) |
| |
|
| | class _Nothing(enum.Enum): |
| | NOTHING = enum.auto() |
| |
|
| | NOTHING = _Nothing.NOTHING |
| | NothingType: TypeAlias = Literal[_Nothing.NOTHING] |
| |
|
| | |
| | |
| | |
| |
|
| | @overload |
| | def Factory(factory: Callable[[], _T]) -> _T: ... |
| | @overload |
| | def Factory( |
| | factory: Callable[[Any], _T], |
| | takes_self: Literal[True], |
| | ) -> _T: ... |
| | @overload |
| | def Factory( |
| | factory: Callable[[], _T], |
| | takes_self: Literal[False], |
| | ) -> _T: ... |
| |
|
| | In = TypeVar("In") |
| | Out = TypeVar("Out") |
| |
|
| | class Converter(Generic[In, Out]): |
| | @overload |
| | def __init__(self, converter: Callable[[In], Out]) -> None: ... |
| | @overload |
| | def __init__( |
| | self, |
| | converter: Callable[[In, AttrsInstance, Attribute], Out], |
| | *, |
| | takes_self: Literal[True], |
| | takes_field: Literal[True], |
| | ) -> None: ... |
| | @overload |
| | def __init__( |
| | self, |
| | converter: Callable[[In, Attribute], Out], |
| | *, |
| | takes_field: Literal[True], |
| | ) -> None: ... |
| | @overload |
| | def __init__( |
| | self, |
| | converter: Callable[[In, AttrsInstance], Out], |
| | *, |
| | takes_self: Literal[True], |
| | ) -> None: ... |
| |
|
| | class Attribute(Generic[_T]): |
| | name: str |
| | default: _T | None |
| | validator: _ValidatorType[_T] | None |
| | repr: _ReprArgType |
| | cmp: _EqOrderType |
| | eq: _EqOrderType |
| | order: _EqOrderType |
| | hash: bool | None |
| | init: bool |
| | converter: Converter | None |
| | metadata: dict[Any, Any] |
| | type: type[_T] | None |
| | kw_only: bool |
| | on_setattr: _OnSetAttrType |
| | alias: str | None |
| |
|
| | def evolve(self, **changes: Any) -> "Attribute[Any]": ... |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | @overload |
| | def attrib( |
| | default: None = ..., |
| | validator: None = ..., |
| | repr: _ReprArgType = ..., |
| | cmp: _EqOrderType | None = ..., |
| | hash: bool | None = ..., |
| | init: bool = ..., |
| | metadata: Mapping[Any, Any] | None = ..., |
| | type: None = ..., |
| | converter: None = ..., |
| | factory: None = ..., |
| | kw_only: bool | None = ..., |
| | eq: _EqOrderType | None = ..., |
| | order: _EqOrderType | None = ..., |
| | on_setattr: _OnSetAttrArgType | None = ..., |
| | alias: str | None = ..., |
| | ) -> Any: ... |
| |
|
| | |
| | |
| | @overload |
| | def attrib( |
| | default: None = ..., |
| | validator: _ValidatorArgType[_T] | None = ..., |
| | repr: _ReprArgType = ..., |
| | cmp: _EqOrderType | None = ..., |
| | hash: bool | None = ..., |
| | init: bool = ..., |
| | metadata: Mapping[Any, Any] | None = ..., |
| | type: type[_T] | None = ..., |
| | converter: _ConverterType |
| | | list[_ConverterType] |
| | | tuple[_ConverterType] |
| | | None = ..., |
| | factory: Callable[[], _T] | None = ..., |
| | kw_only: bool | None = ..., |
| | eq: _EqOrderType | None = ..., |
| | order: _EqOrderType | None = ..., |
| | on_setattr: _OnSetAttrArgType | None = ..., |
| | alias: str | None = ..., |
| | ) -> _T: ... |
| |
|
| | |
| | @overload |
| | def attrib( |
| | default: _T, |
| | validator: _ValidatorArgType[_T] | None = ..., |
| | repr: _ReprArgType = ..., |
| | cmp: _EqOrderType | None = ..., |
| | hash: bool | None = ..., |
| | init: bool = ..., |
| | metadata: Mapping[Any, Any] | None = ..., |
| | type: type[_T] | None = ..., |
| | converter: _ConverterType |
| | | list[_ConverterType] |
| | | tuple[_ConverterType] |
| | | None = ..., |
| | factory: Callable[[], _T] | None = ..., |
| | kw_only: bool | None = ..., |
| | eq: _EqOrderType | None = ..., |
| | order: _EqOrderType | None = ..., |
| | on_setattr: _OnSetAttrArgType | None = ..., |
| | alias: str | None = ..., |
| | ) -> _T: ... |
| |
|
| | |
| | @overload |
| | def attrib( |
| | default: _T | None = ..., |
| | validator: _ValidatorArgType[_T] | None = ..., |
| | repr: _ReprArgType = ..., |
| | cmp: _EqOrderType | None = ..., |
| | hash: bool | None = ..., |
| | init: bool = ..., |
| | metadata: Mapping[Any, Any] | None = ..., |
| | type: object = ..., |
| | converter: _ConverterType |
| | | list[_ConverterType] |
| | | tuple[_ConverterType] |
| | | None = ..., |
| | factory: Callable[[], _T] | None = ..., |
| | kw_only: bool | None = ..., |
| | eq: _EqOrderType | None = ..., |
| | order: _EqOrderType | None = ..., |
| | on_setattr: _OnSetAttrArgType | None = ..., |
| | alias: str | None = ..., |
| | ) -> Any: ... |
| | @overload |
| | @dataclass_transform(order_default=True, field_specifiers=(attrib, field)) |
| | def attrs( |
| | maybe_cls: _C, |
| | these: dict[str, Any] | None = ..., |
| | repr_ns: str | None = ..., |
| | repr: bool = ..., |
| | cmp: _EqOrderType | None = ..., |
| | hash: bool | None = ..., |
| | init: bool = ..., |
| | slots: bool = ..., |
| | frozen: bool = ..., |
| | weakref_slot: bool = ..., |
| | str: bool = ..., |
| | auto_attribs: bool = ..., |
| | kw_only: bool = ..., |
| | cache_hash: bool = ..., |
| | auto_exc: bool = ..., |
| | eq: _EqOrderType | None = ..., |
| | order: _EqOrderType | None = ..., |
| | auto_detect: bool = ..., |
| | collect_by_mro: bool = ..., |
| | getstate_setstate: bool | None = ..., |
| | on_setattr: _OnSetAttrArgType | None = ..., |
| | field_transformer: _FieldTransformer | None = ..., |
| | match_args: bool = ..., |
| | unsafe_hash: bool | None = ..., |
| | ) -> _C: ... |
| | @overload |
| | @dataclass_transform(order_default=True, field_specifiers=(attrib, field)) |
| | def attrs( |
| | maybe_cls: None = ..., |
| | these: dict[str, Any] | None = ..., |
| | repr_ns: str | None = ..., |
| | repr: bool = ..., |
| | cmp: _EqOrderType | None = ..., |
| | hash: bool | None = ..., |
| | init: bool = ..., |
| | slots: bool = ..., |
| | frozen: bool = ..., |
| | weakref_slot: bool = ..., |
| | str: bool = ..., |
| | auto_attribs: bool = ..., |
| | kw_only: bool = ..., |
| | cache_hash: bool = ..., |
| | auto_exc: bool = ..., |
| | eq: _EqOrderType | None = ..., |
| | order: _EqOrderType | None = ..., |
| | auto_detect: bool = ..., |
| | collect_by_mro: bool = ..., |
| | getstate_setstate: bool | None = ..., |
| | on_setattr: _OnSetAttrArgType | None = ..., |
| | field_transformer: _FieldTransformer | None = ..., |
| | match_args: bool = ..., |
| | unsafe_hash: bool | None = ..., |
| | ) -> Callable[[_C], _C]: ... |
| | def fields(cls: type[AttrsInstance]) -> Any: ... |
| | def fields_dict(cls: type[AttrsInstance]) -> dict[str, Attribute[Any]]: ... |
| | def validate(inst: AttrsInstance) -> None: ... |
| | def resolve_types( |
| | cls: _A, |
| | globalns: dict[str, Any] | None = ..., |
| | localns: dict[str, Any] | None = ..., |
| | attribs: list[Attribute[Any]] | None = ..., |
| | include_extras: bool = ..., |
| | ) -> _A: ... |
| |
|
| | |
| | |
| | |
| | def make_class( |
| | name: str, |
| | attrs: list[str] | tuple[str, ...] | dict[str, Any], |
| | bases: tuple[type, ...] = ..., |
| | class_body: dict[str, Any] | None = ..., |
| | repr_ns: str | None = ..., |
| | repr: bool = ..., |
| | cmp: _EqOrderType | None = ..., |
| | hash: bool | None = ..., |
| | init: bool = ..., |
| | slots: bool = ..., |
| | frozen: bool = ..., |
| | weakref_slot: bool = ..., |
| | str: bool = ..., |
| | auto_attribs: bool = ..., |
| | kw_only: bool = ..., |
| | cache_hash: bool = ..., |
| | auto_exc: bool = ..., |
| | eq: _EqOrderType | None = ..., |
| | order: _EqOrderType | None = ..., |
| | collect_by_mro: bool = ..., |
| | on_setattr: _OnSetAttrArgType | None = ..., |
| | field_transformer: _FieldTransformer | None = ..., |
| | ) -> type: ... |
| |
|
| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | def asdict( |
| | inst: AttrsInstance, |
| | recurse: bool = ..., |
| | filter: _FilterType[Any] | None = ..., |
| | dict_factory: type[Mapping[Any, Any]] = ..., |
| | retain_collection_types: bool = ..., |
| | value_serializer: Callable[[type, Attribute[Any], Any], Any] | None = ..., |
| | tuple_keys: bool | None = ..., |
| | ) -> dict[str, Any]: ... |
| |
|
| | |
| | def astuple( |
| | inst: AttrsInstance, |
| | recurse: bool = ..., |
| | filter: _FilterType[Any] | None = ..., |
| | tuple_factory: type[Sequence[Any]] = ..., |
| | retain_collection_types: bool = ..., |
| | ) -> tuple[Any, ...]: ... |
| | def has(cls: type) -> TypeGuard[type[AttrsInstance]]: ... |
| | def assoc(inst: _T, **changes: Any) -> _T: ... |
| | def evolve(inst: _T, **changes: Any) -> _T: ... |
| |
|
| | |
| |
|
| | def set_run_validators(run: bool) -> None: ... |
| | def get_run_validators() -> bool: ... |
| |
|
| | |
| |
|
| | s = attributes = attrs |
| | ib = attr = attrib |
| | dataclass = attrs |
| |
|