plugins.plugin.Capabilities

plugins.plugin.Capabilities(
    differentiable_inputs,
    differentiable_outputs,
    endpoints,
    features,
)

What a plugin can do, read off what it declares.

Nothing here is hand-maintained. The first three fields are the runtime’s own declarations; features names them against cadjoint’s array ABI so a caller can ask a question instead of matching strings.

Attributes

Name Type Description
differentiable_inputs frozenset[str] Inputs declared Differentiable[...].
differentiable_outputs frozenset[str] Outputs declared Differentiable[...].
endpoints frozenset[str] The endpoints the instance serves.
features frozenset[str] Flags — differentiable; vjp/jvp/jacobian/ abstract_eval per served endpoint; per_element_properties for a floating-point cell_* input (a heterogeneous material field); body_force; frozen_topology for a cell_template input.

Methods

Name Description
supports Whether feature is present.

supports

plugins.plugin.Capabilities.supports(feature)

Whether feature is present.