aiflows.data_transformations package¶
Submodules¶
aiflows.data_transformations.abstract module¶
- class aiflows.data_transformations.abstract.DataTransformation(output_key=None)¶
Bases:
ABC
This class is the base class for all data transformations.
- Parameters:
output_key (str, optional) – The output key to apply the transformation to
aiflows.data_transformations.end_of_interaction module¶
- class aiflows.data_transformations.end_of_interaction.EndOfInteraction(output_key: str, end_of_interaction_string: str, input_key: str)¶
Bases:
DataTransformation
This class detects if the end of interaction string is in the input string.
- Parameters:
output_key (str, optional) – The output key to apply the transformation to
end_of_interaction_string (str) – The end of interaction string to detect
input_key (str) – The input key to apply the transformation to
aiflows.data_transformations.json module¶
- class aiflows.data_transformations.json.Json2Obj(input_key: str, output_key: str | None = None)¶
Bases:
DataTransformation
This class converts a JSON string to a Python object.
- Parameters:
input_key (str) – The input key to apply the transformation to
output_key (str, optional) – The output key to save the transformed data to
- class aiflows.data_transformations.json.Obj2Json(input_key: str, output_key: str | None = None)¶
Bases:
DataTransformation
This class converts a Python object to a JSON string.
- Parameters:
input_key (str) – The input key to apply the transformation to
output_key (str, optional) – The output key to save the transformed data to
aiflows.data_transformations.key_copy module¶
- class aiflows.data_transformations.key_copy.KeyCopy(old_key2new_key: Dict[str, str], flatten_data_dict: bool = True)¶
Bases:
DataTransformation
This class copies the value of a key to a new key. It can be used to rename a key.
- Parameters:
old_key2new_key (Dict[str, str]) – A dictionary mapping old keys to new keys
flatten_data_dict (bool, optional) – Whether to flatten the data dictionary before applying the transformation and unflatten it afterwards
aiflows.data_transformations.key_delete module¶
- class aiflows.data_transformations.key_delete.KeyDelete(keys_to_delete: List[str], flatten_data_dict: bool = True)¶
Bases:
DataTransformation
This class deletes a list of keys from the data dictionary.
- Parameters:
keys_to_delete (List[str]) – A list of keys to delete
flatten_data_dict (bool, optional) – Whether to flatten the data dictionary before applying the transformation and unflatten it afterwards
aiflows.data_transformations.key_match_input module¶
- class aiflows.data_transformations.key_match_input.KeyMatchInput¶
Bases:
DataTransformation
This class extracts all keys from the data dictionary that are required by the destination flow.
aiflows.data_transformations.key_rename module¶
- class aiflows.data_transformations.key_rename.KeyRename(old_key2new_key: Dict[str, str], nested_keys: bool = True)¶
Bases:
DataTransformation
This class renames a list of keys from the data dictionary.
- Parameters:
old_key2new_key (Dict[str, str]) – A dictionary mapping old keys to new keys
nested_keys (bool, optional) – Whether to use nested keys
aiflows.data_transformations.key_select module¶
- class aiflows.data_transformations.key_select.KeySelect(keys_to_select: List[str], nested_keys: bool = True)¶
Bases:
DataTransformation
This class selects a list of keys from the data dictionary.
- Parameters:
keys_to_select (List[str]) – A list of keys to select
nested_keys (bool, optional) – Whether to use nested keys
aiflows.data_transformations.key_set module¶
- class aiflows.data_transformations.key_set.KeySet(key2value: Dict[str, str], flatten_data_dict: bool = True)¶
Bases:
DataTransformation
This class sets a list of keys to a given value in the data dictionary.
- Parameters:
key2value (Dict[str, str]) – A dictionary mapping keys to values
flatten_data_dict (bool, optional) – Whether to flatten the data dictionary before applying the transformation and unflatten it afterwards
aiflows.data_transformations.print_previous_messages module¶
- class aiflows.data_transformations.print_previous_messages.PrintPreviousMessages(last_message_only=False)¶
Bases:
DataTransformation
This class prints the previous messages of the current flow.
- Parameters:
last_message_only (bool, optional) – Whether to print only the last message or all previous messages
aiflows.data_transformations.regex_extractor_first module¶
- class aiflows.data_transformations.regex_extractor_first.RegexFirstOccurrenceExtractor(regex: str, output_key: str, assert_unique: bool, strip: bool, input_key: str, regex_fallback: str | None = None, match_group: int = 0)¶
Bases:
DataTransformation
This class extracts the first occurrence of a regex from a given input key and saves it to the output key.
- Parameters:
regex (str) – The regex to search for
output_key (str, optional) – The output key to save the transformed data to
assert_unique (bool, optional) – Whether to assert that the regex has only one match
strip (bool, optional) – Whether to strip the result
input_key (str) – The input key to apply the transformation to
regex_fallback (str, optional) – A regex to use if the first regex was not found
match_group (int, optional) – The match group to return
aiflows.data_transformations.unnesting_dict module¶
- class aiflows.data_transformations.unnesting_dict.UnNesting(input_key: str, output_key: str | None = None)¶
Bases:
DataTransformation
This class unnests a dictionary from the data dictionary.
- Parameters:
input_key (str) – The key of the dictionary to unnest
output_key (str, optional) – The output key to save the transformed data to