# coding: utf-8

"""
Jaqpot API

A modern RESTful API for model management and prediction services, built using Spring Boot and Kotlin. Supports seamless integration with machine learning workflows.

The version of the OpenAPI document: 1.0.0
Contact: upci.ntua@gmail.com
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
"""  # noqa: E501

from __future__ import annotations
import json
from enum import Enum
from typing_extensions import Self


class ModelType(str, Enum):
    """
    ModelType
    """

    """
    allowed enum values
    """
    SKLEARN = "SKLEARN"
    TORCH_ONNX = "TORCH_ONNX"
    TORCHSCRIPT = "TORCHSCRIPT"
    R_BNLEARN_DISCRETE = "R_BNLEARN_DISCRETE"
    R_CARET = "R_CARET"
    R_GBM = "R_GBM"
    R_NAIVE_BAYES = "R_NAIVE_BAYES"
    R_PBPK = "R_PBPK"
    R_RF = "R_RF"
    R_RPART = "R_RPART"
    R_SVM = "R_SVM"
    R_TREE_CLASS = "R_TREE_CLASS"
    R_TREE_REGR = "R_TREE_REGR"
    QSAR_TOOLBOX_CALCULATOR = "QSAR_TOOLBOX_CALCULATOR"
    QSAR_TOOLBOX_QSAR_MODEL = "QSAR_TOOLBOX_QSAR_MODEL"
    QSAR_TOOLBOX_PROFILER = "QSAR_TOOLBOX_PROFILER"

    @classmethod
    def from_json(cls, json_str: str) -> Self:
        """Create an instance of ModelType from a JSON string"""
        return cls(json.loads(json_str))
