Collection
Extend Invoke for Calcipy.
Classes⚓︎
Collection ⚓︎
Bases: Collection
Calcipy Task Collection.
Source code in calcipy/collection.py
class Collection(InvokeCollection):
"""Calcipy Task Collection."""
@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/collection.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/collection.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/collection.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.
working_dir
class-attribute
instance-attribute
⚓︎
working_dir = Field(default_factory=cwd)
Working directory for the program to use globally.