PsychiatryNLPKit.analysis.AnalysisSpec

class PsychiatryNLPKit.analysis.AnalysisSpec(name, data_source, func=None, loader=None, build_kwargs=None, requires=(), manages_lifecycle=False, requires_extra=None)[source]

Declarative description of a registered analysis.

Attributes:
name: Public analysis name (used by TextData.compute and

BatchAnalyzer).

data_source: Name of the TextData attribute providing the

function’s primary argument, "data" for the raw text dict, or None when the function receives everything as kwargs.

build_kwargs: Callable returning extra keyword arguments derived

from a TextData instance (language, model references).

requires: TextData model attributes the analysis needs loaded.

manages_lifecycle: Whether the function has a manage_lifecycle

parameter (model-backed analyses).

requires_extra: Name of the optional install extra the analysis

needs ("graph" or "image"), or None.

__init__(name, data_source, func=None, loader=None, build_kwargs=None, requires=(), manages_lifecycle=False, requires_extra=None)

Methods

__init__(name, data_source[, func, loader, ...])

resolve()

Return the underlying analysis callable (lazy for optional deps).

Attributes

build_kwargs

func

loader

manages_lifecycle

requires

requires_extra

name

data_source

name: str
data_source: str | None
func: Callable[[...], dict[str, dict[str, float]]] | None = None
loader: Callable[[], Callable[[...], dict[str, dict[str, float]]]] | None = None
build_kwargs: Callable[[Any], dict] | None = None
requires: tuple[str, ...] = ()
manages_lifecycle: bool = False
requires_extra: str | None = None
resolve()[source]

Return the underlying analysis callable (lazy for optional deps).

__init__(name, data_source, func=None, loader=None, build_kwargs=None, requires=(), manages_lifecycle=False, requires_extra=None)