queenbee.recipe.dependency module

Queenbee dependency class.

class queenbee.recipe.dependency.Dependency(*, type: ConstrainedStrValue = 'Dependency', annotations: Dict[str, Any] = None, kind: DependencyKind, name: str, hash: str = None, alias: str = None, tag: str, source: str)[source]

Bases: BaseModel

Configuration to fetch a Recipe or Plugin that another Recipe depends on.

alias: str
property dependency_kind

Return a clean version of dependency kind.

The value is either recipe or plugin.

digest: str
fetch(verify_digest: bool = True, auth_header: Dict[str, str] = {}) PackageVersion[source]

Fetch the dependency from its source

Keyword Arguments:

found (verify_digest {bool} -- If the dependency is locked, ensure the) – manifest matches the saved digest (default: {True})

Raises:

ValueError – The dependency could not be found or was invalid

Returns:

bytes – A byte string of the resource manifest str – The digest hash of the package str – The readme of the package str – The license of the package

property is_locked: bool

Indicates whether the dependency is locked to a specific digest.

Returns:

bool – Boolean value to indicate whether the dependency is locked

kind: DependencyKind
name: str
property ref_name: str

The name by which this dependency is referred to in the Recipe.

Returns:

str – Either the dependency name or its alias

source: str
tag: str
type: ConstrainedStrValue
class queenbee.recipe.dependency.DependencyKind(value)[source]

Bases: str, Enum

Dependency kind.

plugin = 'plugin'
recipe = 'recipe'