Spaces:
Runtime error
Runtime error
import sys | |
from typing import ( | |
Any, | |
Callable, | |
Mapping, | |
Sequence, | |
overload, | |
TypeVar, | |
) | |
# Because we need to type our own stuff, we have to make everything from | |
# attr explicitly public too. | |
from attr import __author__ as __author__ | |
from attr import __copyright__ as __copyright__ | |
from attr import __description__ as __description__ | |
from attr import __email__ as __email__ | |
from attr import __license__ as __license__ | |
from attr import __title__ as __title__ | |
from attr import __url__ as __url__ | |
from attr import __version__ as __version__ | |
from attr import __version_info__ as __version_info__ | |
from attr import assoc as assoc | |
from attr import Attribute as Attribute | |
from attr import AttrsInstance as AttrsInstance | |
from attr import cmp_using as cmp_using | |
from attr import converters as converters | |
from attr import Converter as Converter | |
from attr import evolve as evolve | |
from attr import exceptions as exceptions | |
from attr import Factory as Factory | |
from attr import fields as fields | |
from attr import fields_dict as fields_dict | |
from attr import filters as filters | |
from attr import has as has | |
from attr import make_class as make_class | |
from attr import NOTHING as NOTHING | |
from attr import resolve_types as resolve_types | |
from attr import setters as setters | |
from attr import validate as validate | |
from attr import validators as validators | |
from attr import attrib, asdict as asdict, astuple as astuple | |
if sys.version_info >= (3, 11): | |
from typing import dataclass_transform | |
else: | |
from typing_extensions import dataclass_transform | |
_T = TypeVar("_T") | |
_C = TypeVar("_C", bound=type) | |
_EqOrderType = bool | Callable[[Any], Any] | |
_ValidatorType = Callable[[Any, "Attribute[_T]", _T], Any] | |
_ConverterType = Callable[[Any], Any] | |
_ReprType = Callable[[Any], str] | |
_ReprArgType = bool | _ReprType | |
_OnSetAttrType = Callable[[Any, "Attribute[Any]", Any], Any] | |
_OnSetAttrArgType = _OnSetAttrType | list[_OnSetAttrType] | setters._NoOpType | |
_FieldTransformer = Callable[ | |
[type, list["Attribute[Any]"]], list["Attribute[Any]"] | |
] | |
# FIXME: in reality, if multiple validators are passed they must be in a list | |
# or tuple, but those are invariant and so would prevent subtypes of | |
# _ValidatorType from working when passed in a list or tuple. | |
_ValidatorArgType = _ValidatorType[_T] | Sequence[_ValidatorType[_T]] | |
@overload | |
def field( | |
*, | |
default: None = ..., | |
validator: None = ..., | |
repr: _ReprArgType = ..., | |
hash: bool | None = ..., | |
init: bool = ..., | |
metadata: Mapping[Any, Any] | None = ..., | |
converter: None = ..., | |
factory: None = ..., | |
kw_only: bool = ..., | |
eq: bool | None = ..., | |
order: bool | None = ..., | |
on_setattr: _OnSetAttrArgType | None = ..., | |
alias: str | None = ..., | |
type: type | None = ..., | |
) -> Any: ... | |
# This form catches an explicit None or no default and infers the type from the | |
# other arguments. | |
@overload | |
def field( | |
*, | |
default: None = ..., | |
validator: _ValidatorArgType[_T] | None = ..., | |
repr: _ReprArgType = ..., | |
hash: bool | None = ..., | |
init: bool = ..., | |
metadata: Mapping[Any, Any] | None = ..., | |
converter: _ConverterType | Converter[Any, _T] | None = ..., | |
factory: Callable[[], _T] | None = ..., | |
kw_only: bool = ..., | |
eq: _EqOrderType | None = ..., | |
order: _EqOrderType | None = ..., | |
on_setattr: _OnSetAttrArgType | None = ..., | |
alias: str | None = ..., | |
type: type | None = ..., | |
) -> _T: ... | |
# This form catches an explicit default argument. | |
@overload | |
def field( | |
*, | |
default: _T, | |
validator: _ValidatorArgType[_T] | None = ..., | |
repr: _ReprArgType = ..., | |
hash: bool | None = ..., | |
init: bool = ..., | |
metadata: Mapping[Any, Any] | None = ..., | |
converter: _ConverterType | Converter[Any, _T] | None = ..., | |
factory: Callable[[], _T] | None = ..., | |
kw_only: bool = ..., | |
eq: _EqOrderType | None = ..., | |
order: _EqOrderType | None = ..., | |
on_setattr: _OnSetAttrArgType | None = ..., | |
alias: str | None = ..., | |
type: type | None = ..., | |
) -> _T: ... | |
# This form covers type=non-Type: e.g. forward references (str), Any | |
@overload | |
def field( | |
*, | |
default: _T | None = ..., | |
validator: _ValidatorArgType[_T] | None = ..., | |
repr: _ReprArgType = ..., | |
hash: bool | None = ..., | |
init: bool = ..., | |
metadata: Mapping[Any, Any] | None = ..., | |
converter: _ConverterType | Converter[Any, _T] | None = ..., | |
factory: Callable[[], _T] | None = ..., | |
kw_only: bool = ..., | |
eq: _EqOrderType | None = ..., | |
order: _EqOrderType | None = ..., | |
on_setattr: _OnSetAttrArgType | None = ..., | |
alias: str | None = ..., | |
type: type | None = ..., | |
) -> Any: ... | |
@overload | |
@dataclass_transform(field_specifiers=(attrib, field)) | |
def define( | |
maybe_cls: _C, | |
*, | |
these: dict[str, Any] | None = ..., | |
repr: bool = ..., | |
unsafe_hash: bool | 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: bool | None = ..., | |
order: bool | None = ..., | |
auto_detect: bool = ..., | |
getstate_setstate: bool | None = ..., | |
on_setattr: _OnSetAttrArgType | None = ..., | |
field_transformer: _FieldTransformer | None = ..., | |
match_args: bool = ..., | |
) -> _C: ... | |
@overload | |
@dataclass_transform(field_specifiers=(attrib, field)) | |
def define( | |
maybe_cls: None = ..., | |
*, | |
these: dict[str, Any] | None = ..., | |
repr: bool = ..., | |
unsafe_hash: bool | 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: bool | None = ..., | |
order: bool | None = ..., | |
auto_detect: bool = ..., | |
getstate_setstate: bool | None = ..., | |
on_setattr: _OnSetAttrArgType | None = ..., | |
field_transformer: _FieldTransformer | None = ..., | |
match_args: bool = ..., | |
) -> Callable[[_C], _C]: ... | |
mutable = define | |
@overload | |
@dataclass_transform(frozen_default=True, field_specifiers=(attrib, field)) | |
def frozen( | |
maybe_cls: _C, | |
*, | |
these: dict[str, Any] | None = ..., | |
repr: bool = ..., | |
unsafe_hash: bool | 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: bool | None = ..., | |
order: bool | None = ..., | |
auto_detect: bool = ..., | |
getstate_setstate: bool | None = ..., | |
on_setattr: _OnSetAttrArgType | None = ..., | |
field_transformer: _FieldTransformer | None = ..., | |
match_args: bool = ..., | |
) -> _C: ... | |
@overload | |
@dataclass_transform(frozen_default=True, field_specifiers=(attrib, field)) | |
def frozen( | |
maybe_cls: None = ..., | |
*, | |
these: dict[str, Any] | None = ..., | |
repr: bool = ..., | |
unsafe_hash: bool | 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: bool | None = ..., | |
order: bool | None = ..., | |
auto_detect: bool = ..., | |
getstate_setstate: bool | None = ..., | |
on_setattr: _OnSetAttrArgType | None = ..., | |
field_transformer: _FieldTransformer | None = ..., | |
match_args: bool = ..., | |
) -> Callable[[_C], _C]: ... | |