Types

Bases classes for checkers of software dependencies.

class disseminate.checkers.types.All(category, *dependencies)

Bases: disseminate.checkers.types.SoftwareDependencyList

A list for external programs and packages in why all of them should be present.

class disseminate.checkers.types.Any(category, *dependencies)

Bases: disseminate.checkers.types.SoftwareDependencyList

A list for external programs and packages in why any of them may be present.

class disseminate.checkers.types.Optional(category, *dependencies)

Bases: disseminate.checkers.types.SoftwareDependencyList

A list for external programs and packages in why none of them are required to be present.

class disseminate.checkers.types.SoftwareDependency(name, **kwargs)

Bases: object

An external software program or package dependency.

Parameters
namestr

The name of the external program or package.

Attributes
pathstr

The path for the external program or package.

availableOptional[bool]

True, if dependency is available, False otherwise. May also be None if the availability is not determined yet

class disseminate.checkers.types.SoftwareDependencyList(category, *dependencies)

Bases: object

A listing of software dependencies

Parameters
categorystr

The category name for the software dependency list.

*dependenciesTuple[Union[str, SoftwareDependencyList]

The listing of dependency names or sub dependency lists.

flatten(items=None, level=1)

Return a flattened list of software dependency objects.

The flattened list includes SoftwareDependency and SoftwareDependencyList objects.

Returns
flattened_listList[Tuple[int, Union[SoftwareDependency, SoftwareDependencyList]]]

A flattened list of tuples with the level (int) and software dependencies or software dependency lists.

keys()

Name or category of sub-dependencies.