queenbee.io.inputs.dag module¶
Queenbee input types for a DAG.
- class queenbee.io.inputs.dag.DAGArrayInput(*, type: ~typing.Literal['DAGArrayInput'] = 'DAGArrayInput', annotations: ~typing.Dict[str, ~typing.Any] | None = <factory>, name: str, description: str | None = None, default: ~typing.List | None = None, alias: ~typing.List[~queenbee.io.inputs.alias.DAGStringInputAlias | ~queenbee.io.inputs.alias.DAGIntegerInputAlias | ~queenbee.io.inputs.alias.DAGNumberInputAlias | ~queenbee.io.inputs.alias.DAGBooleanInputAlias | ~queenbee.io.inputs.alias.DAGFolderInputAlias | ~queenbee.io.inputs.alias.DAGFileInputAlias | ~queenbee.io.inputs.alias.DAGPathInputAlias | ~queenbee.io.inputs.alias.DAGArrayInputAlias | ~queenbee.io.inputs.alias.DAGJSONObjectInputAlias | ~queenbee.io.inputs.alias.DAGLinkedInputAlias | ~queenbee.io.inputs.alias.DAGGenericInputAlias] = <factory>, required: bool = False, spec: ~typing.Dict | None = None, items_type: ~queenbee.io.common.ItemType = ItemType.String)[source]¶
Bases:
DAGGenericInputA 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.
- default: List | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['DAGArrayInput']¶
- class queenbee.io.inputs.dag.DAGBooleanInput(*, type: ~typing.Literal['DAGBooleanInput'] = 'DAGBooleanInput', annotations: ~typing.Dict[str, ~typing.Any] | None = <factory>, name: str, description: str | None = None, default: bool | None = None, alias: ~typing.List[~queenbee.io.inputs.alias.DAGStringInputAlias | ~queenbee.io.inputs.alias.DAGIntegerInputAlias | ~queenbee.io.inputs.alias.DAGNumberInputAlias | ~queenbee.io.inputs.alias.DAGBooleanInputAlias | ~queenbee.io.inputs.alias.DAGFolderInputAlias | ~queenbee.io.inputs.alias.DAGFileInputAlias | ~queenbee.io.inputs.alias.DAGPathInputAlias | ~queenbee.io.inputs.alias.DAGArrayInputAlias | ~queenbee.io.inputs.alias.DAGJSONObjectInputAlias | ~queenbee.io.inputs.alias.DAGLinkedInputAlias | ~queenbee.io.inputs.alias.DAGGenericInputAlias] = <factory>, required: bool = False, spec: ~typing.Dict | None = None)[source]¶
Bases:
DAGGenericInputThe 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.
- default: bool | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['DAGBooleanInput']¶
- class queenbee.io.inputs.dag.DAGFileInput(*, type: ~typing.Literal['DAGFileInput'] = 'DAGFileInput', annotations: ~typing.Dict[str, ~typing.Any] | None = <factory>, name: str, description: str | None = None, default: ~queenbee.io.artifact_source.HTTP | ~queenbee.io.artifact_source.S3 | ~queenbee.io.artifact_source.ProjectFolder | None = None, alias: ~typing.List[~queenbee.io.inputs.alias.DAGStringInputAlias | ~queenbee.io.inputs.alias.DAGIntegerInputAlias | ~queenbee.io.inputs.alias.DAGNumberInputAlias | ~queenbee.io.inputs.alias.DAGBooleanInputAlias | ~queenbee.io.inputs.alias.DAGFolderInputAlias | ~queenbee.io.inputs.alias.DAGFileInputAlias | ~queenbee.io.inputs.alias.DAGPathInputAlias | ~queenbee.io.inputs.alias.DAGArrayInputAlias | ~queenbee.io.inputs.alias.DAGJSONObjectInputAlias | ~queenbee.io.inputs.alias.DAGLinkedInputAlias | ~queenbee.io.inputs.alias.DAGGenericInputAlias] = <factory>, required: bool = False, spec: ~typing.Dict | None = None, extensions: ~typing.List[str] | None = None)[source]¶
Bases:
DAGFolderInputA 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] | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['DAGFileInput']¶
- class queenbee.io.inputs.dag.DAGFolderInput(*, type: ~typing.Literal['DAGFolderInput'] = 'DAGFolderInput', annotations: ~typing.Dict[str, ~typing.Any] | None = <factory>, name: str, description: str | None = None, default: ~queenbee.io.artifact_source.HTTP | ~queenbee.io.artifact_source.S3 | ~queenbee.io.artifact_source.ProjectFolder | None = None, alias: ~typing.List[~queenbee.io.inputs.alias.DAGStringInputAlias | ~queenbee.io.inputs.alias.DAGIntegerInputAlias | ~queenbee.io.inputs.alias.DAGNumberInputAlias | ~queenbee.io.inputs.alias.DAGBooleanInputAlias | ~queenbee.io.inputs.alias.DAGFolderInputAlias | ~queenbee.io.inputs.alias.DAGFileInputAlias | ~queenbee.io.inputs.alias.DAGPathInputAlias | ~queenbee.io.inputs.alias.DAGArrayInputAlias | ~queenbee.io.inputs.alias.DAGJSONObjectInputAlias | ~queenbee.io.inputs.alias.DAGLinkedInputAlias | ~queenbee.io.inputs.alias.DAGGenericInputAlias] = <factory>, required: bool = False, spec: ~typing.Dict | None = None)[source]¶
Bases:
DAGGenericInputA 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 check_alias_required(v: List[DAGStringInputAlias | DAGIntegerInputAlias | DAGNumberInputAlias | DAGBooleanInputAlias | DAGFolderInputAlias | DAGFileInputAlias | DAGPathInputAlias | DAGArrayInputAlias | DAGJSONObjectInputAlias | DAGLinkedInputAlias | DAGGenericInputAlias]) List[DAGStringInputAlias | DAGIntegerInputAlias | DAGNumberInputAlias | DAGBooleanInputAlias | DAGFolderInputAlias | DAGFileInputAlias | DAGPathInputAlias | DAGArrayInputAlias | DAGJSONObjectInputAlias | DAGLinkedInputAlias | DAGGenericInputAlias][source]¶
Overwrite check_alias_required for artifacts.
This will allow None input for aliases for optional artifacts.
- classmethod check_required(v: bool) bool[source]¶
Overwrite check_required for artifacts to allow optional artifacts.
- default: HTTP | S3 | ProjectFolder | None¶
- property is_artifact¶
- property is_optional¶
A boolean that indicates if an artifact is optional.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['DAGFolderInput']¶
- class queenbee.io.inputs.dag.DAGGenericInput(*, type: ~typing.Literal['DAGGenericInput'] = 'DAGGenericInput', annotations: ~typing.Dict[str, ~typing.Any] | None = <factory>, name: str, description: str | None = None, default: str | None = None, alias: ~typing.List[~queenbee.io.inputs.alias.DAGStringInputAlias | ~queenbee.io.inputs.alias.DAGIntegerInputAlias | ~queenbee.io.inputs.alias.DAGNumberInputAlias | ~queenbee.io.inputs.alias.DAGBooleanInputAlias | ~queenbee.io.inputs.alias.DAGFolderInputAlias | ~queenbee.io.inputs.alias.DAGFileInputAlias | ~queenbee.io.inputs.alias.DAGPathInputAlias | ~queenbee.io.inputs.alias.DAGArrayInputAlias | ~queenbee.io.inputs.alias.DAGJSONObjectInputAlias | ~queenbee.io.inputs.alias.DAGLinkedInputAlias | ~queenbee.io.inputs.alias.DAGGenericInputAlias] = <factory>, required: bool = False, spec: ~typing.Dict | None = None)[source]¶
Bases:
GenericInputBase class for DAG inputs.
This class adds a handler to input to handle the process of loading the input from different graphical interfaces.
- alias: List[DAGStringInputAlias | DAGIntegerInputAlias | DAGNumberInputAlias | DAGBooleanInputAlias | DAGFolderInputAlias | DAGFileInputAlias | DAGPathInputAlias | DAGArrayInputAlias | DAGJSONObjectInputAlias | DAGLinkedInputAlias | DAGGenericInputAlias]¶
- classmethod check_alias_required(v: List[DAGStringInputAlias | DAGIntegerInputAlias | DAGNumberInputAlias | DAGBooleanInputAlias | DAGFolderInputAlias | DAGFileInputAlias | DAGPathInputAlias | DAGArrayInputAlias | DAGJSONObjectInputAlias | DAGLinkedInputAlias | DAGGenericInputAlias]) List[DAGStringInputAlias | DAGIntegerInputAlias | DAGNumberInputAlias | DAGBooleanInputAlias | DAGFolderInputAlias | DAGFileInputAlias | DAGPathInputAlias | DAGArrayInputAlias | DAGJSONObjectInputAlias | DAGLinkedInputAlias | DAGGenericInputAlias][source]¶
- classmethod check_required(v: bool, info: ValidationInfo) bool[source]¶
Ensure required is set to True when default value is not provided.
- default: str | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- required: bool¶
- spec: Dict | None¶
- type: Literal['DAGGenericInput']¶
- classmethod validate_default_refs(v: str, info: ValidationInfo) str[source]¶
Validate referenced variables in the command
- class queenbee.io.inputs.dag.DAGIntegerInput(*, type: ~typing.Literal['DAGIntegerInput'] = 'DAGIntegerInput', annotations: ~typing.Dict[str, ~typing.Any] | None = <factory>, name: str, description: str | None = None, default: int | None = None, alias: ~typing.List[~queenbee.io.inputs.alias.DAGStringInputAlias | ~queenbee.io.inputs.alias.DAGIntegerInputAlias | ~queenbee.io.inputs.alias.DAGNumberInputAlias | ~queenbee.io.inputs.alias.DAGBooleanInputAlias | ~queenbee.io.inputs.alias.DAGFolderInputAlias | ~queenbee.io.inputs.alias.DAGFileInputAlias | ~queenbee.io.inputs.alias.DAGPathInputAlias | ~queenbee.io.inputs.alias.DAGArrayInputAlias | ~queenbee.io.inputs.alias.DAGJSONObjectInputAlias | ~queenbee.io.inputs.alias.DAGLinkedInputAlias | ~queenbee.io.inputs.alias.DAGGenericInputAlias] = <factory>, required: bool = False, spec: ~typing.Dict | None = None)[source]¶
Bases:
DAGGenericInputAn 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.
- default: int | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['DAGIntegerInput']¶
- class queenbee.io.inputs.dag.DAGJSONObjectInput(*, type: ~typing.Literal['DAGJSONObjectInput'] = 'DAGJSONObjectInput', annotations: ~typing.Dict[str, ~typing.Any] | None = <factory>, name: str, description: str | None = None, default: ~typing.Dict | None = None, alias: ~typing.List[~queenbee.io.inputs.alias.DAGStringInputAlias | ~queenbee.io.inputs.alias.DAGIntegerInputAlias | ~queenbee.io.inputs.alias.DAGNumberInputAlias | ~queenbee.io.inputs.alias.DAGBooleanInputAlias | ~queenbee.io.inputs.alias.DAGFolderInputAlias | ~queenbee.io.inputs.alias.DAGFileInputAlias | ~queenbee.io.inputs.alias.DAGPathInputAlias | ~queenbee.io.inputs.alias.DAGArrayInputAlias | ~queenbee.io.inputs.alias.DAGJSONObjectInputAlias | ~queenbee.io.inputs.alias.DAGLinkedInputAlias | ~queenbee.io.inputs.alias.DAGGenericInputAlias] = <factory>, required: bool = False, spec: ~typing.Dict | None = None)[source]¶
Bases:
DAGGenericInputA 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.
- default: Dict | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['DAGJSONObjectInput']¶
- class queenbee.io.inputs.dag.DAGNumberInput(*, type: ~typing.Literal['DAGNumberInput'] = 'DAGNumberInput', annotations: ~typing.Dict[str, ~typing.Any] | None = <factory>, name: str, description: str | None = None, default: float | None = None, alias: ~typing.List[~queenbee.io.inputs.alias.DAGStringInputAlias | ~queenbee.io.inputs.alias.DAGIntegerInputAlias | ~queenbee.io.inputs.alias.DAGNumberInputAlias | ~queenbee.io.inputs.alias.DAGBooleanInputAlias | ~queenbee.io.inputs.alias.DAGFolderInputAlias | ~queenbee.io.inputs.alias.DAGFileInputAlias | ~queenbee.io.inputs.alias.DAGPathInputAlias | ~queenbee.io.inputs.alias.DAGArrayInputAlias | ~queenbee.io.inputs.alias.DAGJSONObjectInputAlias | ~queenbee.io.inputs.alias.DAGLinkedInputAlias | ~queenbee.io.inputs.alias.DAGGenericInputAlias] = <factory>, required: bool = False, spec: ~typing.Dict | None = None)[source]¶
Bases:
DAGGenericInputA 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.
- default: float | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['DAGNumberInput']¶
- class queenbee.io.inputs.dag.DAGPathInput(*, type: ~typing.Literal['DAGPathInput'] = 'DAGPathInput', annotations: ~typing.Dict[str, ~typing.Any] | None = <factory>, name: str, description: str | None = None, default: ~queenbee.io.artifact_source.HTTP | ~queenbee.io.artifact_source.S3 | ~queenbee.io.artifact_source.ProjectFolder | None = None, alias: ~typing.List[~queenbee.io.inputs.alias.DAGStringInputAlias | ~queenbee.io.inputs.alias.DAGIntegerInputAlias | ~queenbee.io.inputs.alias.DAGNumberInputAlias | ~queenbee.io.inputs.alias.DAGBooleanInputAlias | ~queenbee.io.inputs.alias.DAGFolderInputAlias | ~queenbee.io.inputs.alias.DAGFileInputAlias | ~queenbee.io.inputs.alias.DAGPathInputAlias | ~queenbee.io.inputs.alias.DAGArrayInputAlias | ~queenbee.io.inputs.alias.DAGJSONObjectInputAlias | ~queenbee.io.inputs.alias.DAGLinkedInputAlias | ~queenbee.io.inputs.alias.DAGGenericInputAlias] = <factory>, required: bool = False, spec: ~typing.Dict | None = None, extensions: ~typing.List[str] | None = None)[source]¶
Bases:
DAGFolderInputA 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$)" }
- extensions: List[str] | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['DAGPathInput']¶
- class queenbee.io.inputs.dag.DAGStringInput(*, type: ~typing.Literal['DAGStringInput'] = 'DAGStringInput', annotations: ~typing.Dict[str, ~typing.Any] | None = <factory>, name: str, description: str | None = None, default: str | None = None, alias: ~typing.List[~queenbee.io.inputs.alias.DAGStringInputAlias | ~queenbee.io.inputs.alias.DAGIntegerInputAlias | ~queenbee.io.inputs.alias.DAGNumberInputAlias | ~queenbee.io.inputs.alias.DAGBooleanInputAlias | ~queenbee.io.inputs.alias.DAGFolderInputAlias | ~queenbee.io.inputs.alias.DAGFileInputAlias | ~queenbee.io.inputs.alias.DAGPathInputAlias | ~queenbee.io.inputs.alias.DAGArrayInputAlias | ~queenbee.io.inputs.alias.DAGJSONObjectInputAlias | ~queenbee.io.inputs.alias.DAGLinkedInputAlias | ~queenbee.io.inputs.alias.DAGGenericInputAlias] = <factory>, required: bool = False, spec: ~typing.Dict | None = None)[source]¶
Bases:
DAGGenericInputA 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$)" }
- default: str | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- type: Literal['DAGStringInput']¶