src.neurodags.features

Submodules

Classes

DerivativeEntry

Bundle a derivative callable with its definition.

Functions

register_derivative(→ DerivativeCallable)

Register a derivative callable with optional definition.

register_derivative_with_name(→ None)

Register a derivative under a specific name.

get_derivative(→ DerivativeEntry)

Return a registered derivative entry by name.

iter_derivatives(→ collections.abc.Iterable[tuple[str, ...)

Yield registered derivatives as (name, DerivativeEntry) pairs.

list_derivatives(→ tuple[str, Ellipsis])

Return the registered derivative names sorted alphabetically.

clear_derivative_registry(→ None)

Remove all registered derivatives (useful for tests).

unregister_derivative(→ None)

Remove a derivative from the registry if present.

Package Contents

class src.neurodags.features.DerivativeEntry(name: str, func: DerivativeCallable, definition: dict[str, Any] | None = None)

Bundle a derivative callable with its definition.

name
func
definition
__call__(*args, **kwargs)
__repr__() str
src.neurodags.features.register_derivative(func: DerivativeCallable | None = None, *, name: str | None = None, override: bool = False, definition: dict[str, Any] | None = None) DerivativeCallable

Register a derivative callable with optional definition.

Can be used as:

@register_derivative def my_derivative(…): …

or:

@register_derivative(name=”alias”, definition=defn)

or programmatically with register_derivative_with_name.

src.neurodags.features.register_derivative_with_name(name: str, func: DerivativeCallable, definition: dict[str, Any] | None = None, override: bool = False) None

Register a derivative under a specific name.

src.neurodags.features.get_derivative(name: str) DerivativeEntry

Return a registered derivative entry by name.

src.neurodags.features.iter_derivatives() collections.abc.Iterable[tuple[str, DerivativeEntry]]

Yield registered derivatives as (name, DerivativeEntry) pairs.

src.neurodags.features.list_derivatives() tuple[str, Ellipsis]

Return the registered derivative names sorted alphabetically.

src.neurodags.features.clear_derivative_registry() None

Remove all registered derivatives (useful for tests).

src.neurodags.features.unregister_derivative(name: str) None

Remove a derivative from the registry if present.