Source code for txgraffiti.playground.registry

from typing import List, Iterator, Callable
from txgraffiti.logic import Conjecture

__all__ = [
    'register_playground',
    'list_playgrounds',
]

_GEN_FUNCS: list[Callable[..., Iterator[Conjecture]]] = []

[docs] def register_playground(fn: Callable[..., Iterator[Conjecture]]) -> Callable[..., Iterator[Conjecture]]: """ Use as a plain decorator: @register_gen def convex_hull(...): ... """ _GEN_FUNCS.append(fn) return fn
[docs] def list_playgrounds() -> list[Callable[..., Iterator[Conjecture]]]: """Return all registered generator functions.""" return list(_GEN_FUNCS)