docs for muutils v0.6.17
View Source on GitHub

# muutils.kappa

anonymous getitem class

util for constructing a class which has a getitem method which just calls a function

a `lambda` is an anonymous function: kappa is the letter before lambda in the greek alphabet, hence the name of this class

View Source
View on GitHub

     1"""anonymous getitem class
     2
     3util for constructing a class which has a getitem method which just calls a function
     4
     5a `lambda` is an anonymous function: kappa is the letter before lambda in the greek alphabet,
     6hence the name of this class"""
     7
     8from __future__ import annotations
     9
    10from typing import Callable, Mapping, TypeVar
    11
    12_kappa_K = TypeVar("_kappa_K")
    13_kappa_V = TypeVar("_kappa_V")
    14
    15# get the docstring of this file
    16_BASE_DOC: str = (
    17    __doc__
    18    + """
    19
    20source function docstring:
    21==============================\n
    22"""
    23)
    24
    25
    26class Kappa(Mapping[_kappa_K, _kappa_V]):
    27    def __init__(self, func_getitem: Callable[[_kappa_K], _kappa_V]) -> None:
    28        self.func_getitem = func_getitem
    29        self.doc = _BASE_DOC + str(
    30            getattr(
    31                func_getitem, "__doc__", "<no docstring provided for source function>"
    32            )
    33        )
    34
    35    def __getitem__(self, x) -> _kappa_V:
    36        return self.func_getitem(x)
    37
    38    def __iter__(self):
    39        raise NotImplementedError(
    40            "This method is not implemented for Kappa, we don't know the valid inputs"
    41        )
    42
    43    def __len__(self):
    44        raise NotImplementedError(
    45            "This method is not implemented for Kappa, no idea how many valid inputs there are"
    46        )

class Kappa(typing.Mapping[~_kappa_K, ~_kappa_V]):
View Source
View on GitHub

    27class Kappa(Mapping[_kappa_K, _kappa_V]):
    28    def __init__(self, func_getitem: Callable[[_kappa_K], _kappa_V]) -> None:
    29        self.func_getitem = func_getitem
    30        self.doc = _BASE_DOC + str(
    31            getattr(
    32                func_getitem, "__doc__", "<no docstring provided for source function>"
    33            )
    34        )
    35
    36    def __getitem__(self, x) -> _kappa_V:
    37        return self.func_getitem(x)
    38
    39    def __iter__(self):
    40        raise NotImplementedError(
    41            "This method is not implemented for Kappa, we don't know the valid inputs"
    42        )
    43
    44    def __len__(self):
    45        raise NotImplementedError(
    46            "This method is not implemented for Kappa, no idea how many valid inputs there are"
    47        )

A Mapping is a generic container for associating key/value pairs.

This class provides concrete generic implementations of all methods except for __getitem__, __iter__, and __len__.

Kappa(func_getitem: Callable[[~_kappa_K], ~_kappa_V])
View Source
View on GitHub

    28    def __init__(self, func_getitem: Callable[[_kappa_K], _kappa_V]) -> None:
    29        self.func_getitem = func_getitem
    30        self.doc = _BASE_DOC + str(
    31            getattr(
    32                func_getitem, "__doc__", "<no docstring provided for source function>"
    33            )
    34        )

func_getitem
doc

##### Inherited Members

collections.abc.Mapping
  get
  keys
  items
  values