_protocols#
- cultivars.engine._core._protocols = <module 'cultivars.engine._core._protocols' from '/home/runner/work/cultivars/cultivars/src/cultivars/engine/_core/_protocols.py'>[source]#
Structural contracts satisfied by fitted results and model specifications.
These are the duck-typed interfaces the toolkit subpackages (diagnostics, forecast, spectral) program against. They are deliberately structural rather than nominal: a user-defined result that happens to expose
llf,nobsand the criteria surface is accepted by every diagnostic without subclassing anything from this package.The nominal counterparts – the base classes that concrete results actually inherit – live in
cultivars._internals._modelsand implement these protocols.