# Path: craft_ai/pandas/constants.py
# MISSING_VALUE = MissingValue()
# 
# OPTIONAL_VALUE = OptionalValue()
# 
# Path: craft_ai/constants.py
# REACT_CRAFT_AI_DECISION_TREE_VERSION = "0.0.23"
# 
# Path: craft_ai/errors.py
# class CraftAiError(Exception):
#     """Base class for exceptions in the craft ai client."""
# 
#     def __init__(self, message=None, metadata=None):
#         self.message = message
#         self.metadata = metadata
#         super(CraftAiError, self).__init__(message, metadata)
# 
#     def __str__(self):
#         return repr(self.message)


import json
import re
import string
import importlib
import pandas as pd
from random import choice
from semver import VersionInfo
from .constants import (
    MISSING_VALUE,
    OPTIONAL_VALUE,
)
from ..constants import REACT_CRAFT_AI_DECISION_TREE_VERSION
from ..errors import CraftAiError
        for folded_node in folded_nodes:
            if not isinstance(folded_node, str) and not re.compile(
                SELECTED_NODE_REGEX
            ).match(folded_node):
                raise CraftAiError(
                    """Invalid folded node format given, tt should be a"""
                    """String following this regex: {}, found: {}""".format(
                        SELECTED_NODE_REGEX, folded_nodes
                    )
                )

    if edge_type not in ["constant", "absolute", "relative"]:
        raise CraftAiError(
            """Invalid edge type given, its value should be a "constant", """
            """"absolute" or "relative", found: {}""".format(edge_type)
        )

    if not isinstance(selected_node, str) and not re.compile(SELECTED_NODE_REGEX).match(
        selected_node
    ):
        raise CraftAiError(
            """Invalid selected node format given, tt should be a"""
            """String following this regex: {}, found: {}""".format(
                SELECTED_NODE_REGEX, selected_node
            )
        )

    return html_template.format(
        height=height,
        tree=json.dumps(tree_object),

# Path: craft_ai/pandas/constants.py
# MISSING_VALUE = MissingValue()
# 
# OPTIONAL_VALUE = OptionalValue()
# 
# Path: craft_ai/constants.py
# REACT_CRAFT_AI_DECISION_TREE_VERSION = "0.0.23"
# 
# Path: craft_ai/errors.py
# class CraftAiError(Exception):
#     """Base class for exceptions in the craft ai client."""
# 
#     def __init__(self, message=None, metadata=None):
#         self.message = message
#         self.metadata = metadata
#         super(CraftAiError, self).__init__(message, metadata)
# 
#     def __str__(self):
#         return repr(self.message)


# Path: craft_ai/pandas/utils.py
import json
import re
import string
import importlib
import pandas as pd
from random import choice
from semver import VersionInfo
from .constants import (
    MISSING_VALUE,
    OPTIONAL_VALUE,
)
from ..constants import REACT_CRAFT_AI_DECISION_TREE_VERSION
from ..errors import CraftAiError

        for folded_node in folded_nodes:
            if not isinstance(folded_node, str) and not re.compile(
                SELECTED_NODE_REGEX
            ).match(folded_node):
                raise CraftAiError(
                    """Invalid folded node format given, tt should be a"""
                    """String following this regex: {}, found: {}""".format(
                        SELECTED_NODE_REGEX, folded_nodes
                    )
                )

    if edge_type not in ["constant", "absolute", "relative"]:
        raise CraftAiError(
            """Invalid edge type given, its value should be a "constant", """
            """"absolute" or "relative", found: {}""".format(edge_type)
        )

    if not isinstance(selected_node, str) and not re.compile(SELECTED_NODE_REGEX).match(
        selected_node
    ):
        raise CraftAiError(
            """Invalid selected node format given, tt should be a"""
            """String following this regex: {}, found: {}""".format(
                SELECTED_NODE_REGEX, selected_node
            )
        )

    return html_template.format(
        height=height,
        tree=json.dumps(tree_object),

        version=REACT_CRAFT_AI_DECISION_TREE_VERSION,