userfs.project package#
Module contents#
A module for interfacing with projects.
- class userfs.project.ProjectInteractionTask(kind: ProjectInteraction, root: Path, project: ProjectSpecification, cli_options: Dict[str, Any], hooks: Dict[str, Callable[[Path, ProjectSpecification, Dict[str, Any], Dict[str, Any]], None] | None], hooks_only: bool = False)[source]#
Bases:
NamedTuple
A data structure containing all information necessary for interacting with a project.
- cli_options: Dict[str, Any]#
Alias for field number 3
- hooks: Dict[str, Callable[[Path, ProjectSpecification, Dict[str, Any], Dict[str, Any]], None] | None]#
Alias for field number 4
- hooks_only: bool#
Alias for field number 5
- interact(interaction: Callable[[Path, ProjectSpecification, Dict[str, Any], Dict[str, Any]], None] = None) None [source]#
Run a project-interaction method.
- kind: ProjectInteraction#
Alias for field number 0
- project: ProjectSpecification#
Alias for field number 2
- root: Path#
Alias for field number 1
- userfs.project.execute_interactions(interactions: Iterable[ProjectInteraction], projects: Iterable[str], config: Config, cli_options: Dict[str, Any], hooks_only: bool = False) int [source]#
Execute project interactions in parallel.
- userfs.project.interact(task: ProjectInteractionTask) None [source]#
Perform a project interaction.