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.