from __future__ import annotations

# coding: utf-8

"""
    FastAPI

    No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

    The version of the OpenAPI document: 0.1.0
    Generated by OpenAPI Generator (https://openapi-generator.tech)

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


import json
import pprint
import re  # noqa: F401
from enum import Enum


class Scheduler(str, Enum):
    """
    The schedulers available for image generation.
    """

    """
    allowed enum values
    """
    PNDM = "PNDM"
    LMS = "LMS"
    KLMS = "KLMS"
    DDIM = "DDIM"
    DDPM = "DDPM"
    HEUN = "HEUN"
    K_HEUN = "K_HEUN"
    K_EULER = "K_EULER"
    K_EULER_ANCESTRAL = "K_EULER_ANCESTRAL"
    DPM_SOLVER_MULTISTEP = "DPM_SOLVER_MULTISTEP"
    DPM_PLUS_PLUS_2_M_KARRAS = "DPM_PLUS_PLUS_2M_KARRAS"
    DPM_SINGLE = "DPM_SINGLE"
    DPM_2 = "DPM_2"
    DPM_2_ANCESTRAL = "DPM_2_ANCESTRAL"
    DPM_PLUS_PLUS_SDE_KARRAS = "DPM_PLUS_PLUS_SDE_KARRAS"
    UNI_PC = "UNI_PC"

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