queenbee.io.inputs.function module

Queenbee input types for functions.

For more information on plugins see plugin module.

class queenbee.io.inputs.function.FunctionArrayInput(*, type: ConstrainedStrValue = 'FunctionArrayInput', annotations: Dict[str, Any] = None, name: str, description: str = None, default: List = None, alias: List[Union[DAGGenericInputAlias, DAGStringInputAlias, DAGIntegerInputAlias, DAGNumberInputAlias, DAGBooleanInputAlias, DAGFolderInputAlias, DAGFileInputAlias, DAGPathInputAlias, DAGArrayInputAlias, DAGJSONObjectInputAlias, DAGLinkedInputAlias]] = None, required: bool = False, spec: Dict = None, items_type: ItemType = ItemType.String)[source]

Bases: DAGArrayInput

A JSON array input.

You can add additional validation by defining a JSONSchema specification.

See http://json-schema.org/understanding-json-schema/reference/array.html for more information.

type: ConstrainedStrValue
class queenbee.io.inputs.function.FunctionBooleanInput(*, type: ConstrainedStrValue = 'FunctionBooleanInput', annotations: Dict[str, Any] = None, name: str, description: str = None, default: bool = None, alias: List[Union[DAGGenericInputAlias, DAGStringInputAlias, DAGIntegerInputAlias, DAGNumberInputAlias, DAGBooleanInputAlias, DAGFolderInputAlias, DAGFileInputAlias, DAGPathInputAlias, DAGArrayInputAlias, DAGJSONObjectInputAlias, DAGLinkedInputAlias]] = None, required: bool = False, spec: Dict = None)[source]

Bases: DAGBooleanInput

The boolean type matches only two special values: True and False.

Note that values that evaluate to true or false, such as 1 and 0, are not accepted.

You can add additional validation by defining a JSONSchema specification.

See http://json-schema.org/understanding-json-schema/reference/boolean.html for more information.

type: ConstrainedStrValue
class queenbee.io.inputs.function.FunctionFileInput(*, type: ConstrainedStrValue = 'FunctionFileInput', annotations: Dict[str, Any] = None, name: str, description: str = None, default: Union[HTTP, S3, ProjectFolder] = None, alias: List[Union[DAGGenericInputAlias, DAGStringInputAlias, DAGIntegerInputAlias, DAGNumberInputAlias, DAGBooleanInputAlias, DAGFolderInputAlias, DAGFileInputAlias, DAGPathInputAlias, DAGArrayInputAlias, DAGJSONObjectInputAlias, DAGLinkedInputAlias]] = None, required: bool = False, spec: Dict = None, path: str, extensions: List[str] = None)[source]

Bases: FunctionFolderInput

A file input.

File is a special string input. Unlike other string inputs, a file will be copied from its location to execution folder when a workflow is executed.

You can add additional validation by defining a JSONSchema specification.

See http://json-schema.org/understanding-json-schema/reference/string.html#string for more information.

# a file with maximum 50 characters with an ``epw`` extension.

"schema": {
    "type": "string",
    "maxLength": 50,
    "pattern": "(?i)(^.*\.epw$)"
}
extensions: List[str]
type: ConstrainedStrValue
validate_spec(value)[source]

Validate an input value against specification.

Use this for validating workflow inputs against a recipe.

class queenbee.io.inputs.function.FunctionFolderInput(*, type: ConstrainedStrValue = 'FunctionFolderInput', annotations: Dict[str, Any] = None, name: str, description: str = None, default: Union[HTTP, S3, ProjectFolder] = None, alias: List[Union[DAGGenericInputAlias, DAGStringInputAlias, DAGIntegerInputAlias, DAGNumberInputAlias, DAGBooleanInputAlias, DAGFolderInputAlias, DAGFileInputAlias, DAGPathInputAlias, DAGArrayInputAlias, DAGJSONObjectInputAlias, DAGLinkedInputAlias]] = None, required: bool = False, spec: Dict = None, path: str)[source]

Bases: DAGFolderInput

A folder input.

Folder is a special string input. Unlike other string inputs, a folder will be copied from its location to execution folder when a workflow is executed.

You can add additional validation by defining a JSONSchema specification.

See http://json-schema.org/understanding-json-schema/reference/string.html#string for more information.

"schema": {
    "type": "string",
    "maxLength": 50,
}
classmethod not_workspace_path(v)[source]
path: str
property referenced_values: Dict[str, List[str]]

Get referenced variables if any

Returns:

Dict[str, List[str]] – A dictionary where keys are attributes and lists ‘

’contain referenced value string

type: ConstrainedStrValue
class queenbee.io.inputs.function.FunctionIntegerInput(*, type: ConstrainedStrValue = 'FunctionIntegerInput', annotations: Dict[str, Any] = None, name: str, description: str = None, default: int = None, alias: List[Union[DAGGenericInputAlias, DAGStringInputAlias, DAGIntegerInputAlias, DAGNumberInputAlias, DAGBooleanInputAlias, DAGFolderInputAlias, DAGFileInputAlias, DAGPathInputAlias, DAGArrayInputAlias, DAGJSONObjectInputAlias, DAGLinkedInputAlias]] = None, required: bool = False, spec: Dict = None)[source]

Bases: DAGIntegerInput

An integer input.

You can add additional validation by defining a JSONSchema specification.

See http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric for more information.

type: ConstrainedStrValue
class queenbee.io.inputs.function.FunctionJSONObjectInput(*, type: ConstrainedStrValue = 'FunctionJSONObjectInput', annotations: Dict[str, Any] = None, name: str, description: str = None, default: Dict = None, alias: List[Union[DAGGenericInputAlias, DAGStringInputAlias, DAGIntegerInputAlias, DAGNumberInputAlias, DAGBooleanInputAlias, DAGFolderInputAlias, DAGFileInputAlias, DAGPathInputAlias, DAGArrayInputAlias, DAGJSONObjectInputAlias, DAGLinkedInputAlias]] = None, required: bool = False, spec: Dict = None)[source]

Bases: DAGJSONObjectInput

A JSON object input.

JSON objects are similar to Python dictionaries.

You can add additional validation by defining a JSONSchema specification.

See http://json-schema.org/understanding-json-schema/reference/object.html for more information.

type: ConstrainedStrValue
class queenbee.io.inputs.function.FunctionNumberInput(*, type: ConstrainedStrValue = 'FunctionNumberInput', annotations: Dict[str, Any] = None, name: str, description: str = None, default: float = None, alias: List[Union[DAGGenericInputAlias, DAGStringInputAlias, DAGIntegerInputAlias, DAGNumberInputAlias, DAGBooleanInputAlias, DAGFolderInputAlias, DAGFileInputAlias, DAGPathInputAlias, DAGArrayInputAlias, DAGJSONObjectInputAlias, DAGLinkedInputAlias]] = None, required: bool = False, spec: Dict = None)[source]

Bases: DAGNumberInput

A number input.

You can add additional validation by defining a JSONSchema specification.

See http://json-schema.org/understanding-json-schema/reference/numeric.html#numeric for more information.

type: ConstrainedStrValue
class queenbee.io.inputs.function.FunctionPathInput(*, type: ConstrainedStrValue = 'FunctionPathInput', annotations: Dict[str, Any] = None, name: str, description: str = None, default: Union[HTTP, S3, ProjectFolder] = None, alias: List[Union[DAGGenericInputAlias, DAGStringInputAlias, DAGIntegerInputAlias, DAGNumberInputAlias, DAGBooleanInputAlias, DAGFolderInputAlias, DAGFileInputAlias, DAGPathInputAlias, DAGArrayInputAlias, DAGJSONObjectInputAlias, DAGLinkedInputAlias]] = None, required: bool = False, spec: Dict = None, path: str, extensions: List[str] = None)[source]

Bases: FunctionFileInput

A file or a folder input.

Use this input only in cases that the input can be either a file or folder. For file or folder-only inputs see File and Folder.

Path is a special string input. Unlike other string inputs, a path will be copied from its location to execution folder when a workflow is executed.

You can add additional validation by defining a JSONSchema specification.

See http://json-schema.org/understanding-json-schema/reference/string.html#string for more information.

# a file with maximum 50 characters with an ``epw`` extension.

"schema": {
    "type": "string",
    "maxLength": 50,
    "pattern": "(?i)(^.*\.epw$)"
}
type: ConstrainedStrValue
validate_spec(value)[source]

Validate an input value against specification.

Use this for validating workflow inputs against a recipe.

class queenbee.io.inputs.function.FunctionStringInput(*, type: ConstrainedStrValue = 'FunctionStringInput', annotations: Dict[str, Any] = None, name: str, description: str = None, default: str = None, alias: List[Union[DAGGenericInputAlias, DAGStringInputAlias, DAGIntegerInputAlias, DAGNumberInputAlias, DAGBooleanInputAlias, DAGFolderInputAlias, DAGFileInputAlias, DAGPathInputAlias, DAGArrayInputAlias, DAGJSONObjectInputAlias, DAGLinkedInputAlias]] = None, required: bool = False, spec: Dict = None)[source]

Bases: DAGStringInput

A String input.

You can add additional validation by defining a JSONSchema specification.

See http://json-schema.org/understanding-json-schema/reference/string.html#string for more information.

"schema": {
    "type": "string",
    "maxLength": 50,
    "pattern": "(?i)(^.*\.epw$)"
}
type: ConstrainedStrValue