Skip to content

_invoke

Extend Invoke for Calcipy.

Classes⚓︎

Collection ⚓︎

Bases: Collection

Source code in calcipy/tasks/_invoke.py
class Collection(InvokeCollection):

    @classmethod
    def from_module(
        cls,
        module: ModuleType,
        name: Optional[str] = None,
        config: Optional[Dict[str, Any]] = None,
        loaded_from: Optional[str] = None,
        auto_dash_names: Optional[bool] = None,
    ) -> 'InvokeCollection':
        """Extend search for a namespace, Task, or deferred task."""
        collection = super().from_module(
            module=module,
            name=name,
            config=config,
            loaded_from=loaded_from,
            auto_dash_names=auto_dash_names,
        )

        # If tasks were not loaded from a namespace or otherwise found
        if not collection.task_names:
            # Look for any decorated, but deferred "Tasks"
            for task in (fxn for fxn in vars(module).values() if hasattr(fxn, TASK_ARGS_ATTR)):
                collection.add_task(task)

        return collection

    def add_task(
        self,
        task: DeferedTask,
        name: Optional[str] = None,
        aliases: Optional[Tuple[str, ...]] = None,
        default: Optional[bool] = None,
    ) -> None:
        """Extend for deferred tasks."""
        super().add_task(task=_build_task(task), name=name, aliases=aliases, default=default)

Functions⚓︎

add_task ⚓︎
add_task(task, name=None, aliases=None, default=None)

Extend for deferred tasks.

Source code in calcipy/tasks/_invoke.py
def add_task(
    self,
    task: DeferedTask,
    name: Optional[str] = None,
    aliases: Optional[Tuple[str, ...]] = None,
    default: Optional[bool] = None,
) -> None:
    """Extend for deferred tasks."""
    super().add_task(task=_build_task(task), name=name, aliases=aliases, default=default)
from_module classmethod ⚓︎
from_module(module, name=None, config=None, loaded_from=None, auto_dash_names=None)

Extend search for a namespace, Task, or deferred task.

Source code in calcipy/tasks/_invoke.py
@classmethod
def from_module(
    cls,
    module: ModuleType,
    name: Optional[str] = None,
    config: Optional[Dict[str, Any]] = None,
    loaded_from: Optional[str] = None,
    auto_dash_names: Optional[bool] = None,
) -> 'InvokeCollection':
    """Extend search for a namespace, Task, or deferred task."""
    collection = super().from_module(
        module=module,
        name=name,
        config=config,
        loaded_from=loaded_from,
        auto_dash_names=auto_dash_names,
    )

    # If tasks were not loaded from a namespace or otherwise found
    if not collection.task_names:
        # Look for any decorated, but deferred "Tasks"
        for task in (fxn for fxn in vars(module).values() if hasattr(fxn, TASK_ARGS_ATTR)):
            collection.add_task(task)

    return collection

GlobalTaskOptions ⚓︎

Bases: BaseModel

Global Task Options.

Source code in calcipy/tasks/_invoke.py
class GlobalTaskOptions(BaseModel):
    """Global Task Options."""

    working_dir: Path = Field(default_factory=Path.cwd)
    """Working directory for the program to use globally."""

    file_args: List[Path] = Field(default_factory=list)
    """List of Paths to modify."""

    verbose: PositiveInt = Field(default=0, le=3)
    """Verbosity level."""

    keep_going: bool = False
    """Continue task execution regardless of failure."""

Attributes⚓︎

file_args class-attribute instance-attribute ⚓︎
file_args = Field(default_factory=list)

List of Paths to modify.

keep_going class-attribute instance-attribute ⚓︎
keep_going = False

Continue task execution regardless of failure.

verbose class-attribute instance-attribute ⚓︎
verbose = Field(default=0, le=3)

Verbosity level.

working_dir class-attribute instance-attribute ⚓︎
working_dir = Field(default_factory=cwd)

Working directory for the program to use globally.