pjkm.core.tasks.registry

Task registry: discover, register, and filter tasks.

Classes

TaskRegistry

Central registry of all available tasks.

Module Contents

class pjkm.core.tasks.registry.TaskRegistry[source]

Central registry of all available tasks.

Tasks are registered either by adding BaseTask subclass instances or via the register() method. The registry can filter tasks by archetype and selected groups.

register(task)[source]

Register a task instance.

Parameters:

task (pjkm.core.tasks.base.BaseTask)

Return type:

None

get(task_id)[source]

Look up a task by ID.

Parameters:

task_id (str)

Return type:

pjkm.core.tasks.base.BaseTask | None

get_definitions(archetype=None)[source]

Return TaskDefinitions for all registered tasks.

Optionally filter by archetype (future: filter by group applicability).

Parameters:

archetype (pjkm.core.models.project.Archetype | None)

Return type:

list[pjkm.core.models.task.TaskDefinition]

all_tasks()[source]

Return all registered task instances.

Return type:

list[pjkm.core.tasks.base.BaseTask]

property task_ids: list[str][source]
Return type:

list[str]