Source code for todd.registries.partial

__all__ = [
    'PartialRegistryMeta',
    'PartialRegistry',
]

from functools import partial
from typing import Any, no_type_check

from ..bases.configs import Config
from ..bases.registries import Item, RegistryMeta
from ..patches.py_ import NonInstantiableMeta


[docs] class PartialRegistryMeta(RegistryMeta): @no_type_check def __subclasses__(cls=...): if cls is ...: return NonInstantiableMeta.__subclasses__(PartialRegistryMeta) return super().__subclasses__() def _build(cls, item: Item, config: Config) -> Any: return partial(item, **config)
[docs] class PartialRegistry(metaclass=PartialRegistryMeta): pass