def kernel_type_for()

in cdk-project/lib/images/codebuild-image/python/src/notebooks/kernels.py [0:0]


def kernel_type_for(notebook):
    """Classify the general kernel type for a given notebook using the kernel information in the metadata.

    Args:
        notebook (Path): The path to the notebook for which to determine the kernel type.

    Returns:
        str: The kernel type (eg. "MXNet", "PyTorch", "TensorFlow 1", "TensorFlow 2", "Spark", or "Data Science")

    """
    kernel_name = parse.kernel_for(notebook)

    if kernel_name:
        if any(
            name in kernel_name
            for name in (
                "MXNet",
                "mxnet",
                "conda_mxnet_latest_p37",
                "conda_mxnet_p27",
                "conda_mxnet_p36",
            )
        ):
            return "MXNet"
        elif any(
            name in kernel_name
            for name in (
                "PyTorch",
                "pytorch",
                "conda_pytorch_latest_p36",
                "conda_pytorch_p27",
                "conda_pytorch_p36",
            )
        ):
            return "PyTorch"
        elif any(
            name in kernel_name
            for name in (
                "TensorFlow 1",
                "conda_tensorflow_p27",
                "conda_tensorflow_p36",
                "tensorflow_p36",
            )
        ):
            return "TensorFlow 1"
        elif any(
            name in kernel_name
            for name in ("TensorFlow 2", "conda_tensorflow2_p36", "tensorflow2_p36")
        ):
            return "TensorFlow 2"
        elif any(name in kernel_name for name in ("SparkMagic", "PySpark", "pysparkkernel")):
            return "Spark"
        elif kernel_name == "R":
            return "R"

    return "Data Science"