Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
__init__.py105 linesDownload Raw Back to attr
1# SPDX-License-Identifier: MIT2 3"""4Classes Without Boilerplate5"""6 7from functools import partial8from typing import Callable, Literal, Protocol9 10from . import converters, exceptions, filters, setters, validators11from ._cmp import cmp_using12from ._config import get_run_validators, set_run_validators13from ._funcs import asdict, assoc, astuple, has, resolve_types14from ._make import (15    NOTHING,16    Attribute,17    Converter,18    Factory,19    _Nothing,20    attrib,21    attrs,22    evolve,23    fields,24    fields_dict,25    make_class,26    validate,27)28from ._next_gen import define, field, frozen, mutable29from ._version_info import VersionInfo30 31 32s = attributes = attrs33ib = attr = attrib34dataclass = partial(attrs, auto_attribs=True)  # happy Easter ;)35 36 37class AttrsInstance(Protocol):38    pass39 40 41NothingType = Literal[_Nothing.NOTHING]42 43__all__ = [44    "NOTHING",45    "Attribute",46    "AttrsInstance",47    "Converter",48    "Factory",49    "NothingType",50    "asdict",51    "assoc",52    "astuple",53    "attr",54    "attrib",55    "attributes",56    "attrs",57    "cmp_using",58    "converters",59    "define",60    "evolve",61    "exceptions",62    "field",63    "fields",64    "fields_dict",65    "filters",66    "frozen",67    "get_run_validators",68    "has",69    "ib",70    "make_class",71    "mutable",72    "resolve_types",73    "s",74    "set_run_validators",75    "setters",76    "validate",77    "validators",78]79 80 81def _make_getattr(mod_name: str) -> Callable:82    """83    Create a metadata proxy for packaging information that uses *mod_name* in84    its warnings and errors.85    """86 87    def __getattr__(name: str) -> str:88        if name not in ("__version__", "__version_info__"):89            msg = f"module {mod_name} has no attribute {name}"90            raise AttributeError(msg)91 92        from importlib.metadata import metadata93 94        meta = metadata("attrs")95 96        if name == "__version_info__":97            return VersionInfo._from_version_string(meta["version"])98 99        return meta["version"]100 101    return __getattr__102 103 104__getattr__ = _make_getattr(__name__)105 
codekingpro/portable-devtools · Team Ai