def METHOD_NAME(
    molecule, isotope=None, electronic_state=None, verbose=True
) -> ElectronicState:
    """Get an :py:class:`~radis.db.classes.ElectronicState` object in the
    RADIS :py:data:`~radis.db.molecules.Molecules` list, which use the defaults
    :ref:`spectroscopic constants <label_db_spectroscopic_constants>`.
    Parameters
    ----------
    molecule: str
        molecule name
    isotope: int, or ``None``
        isotope number. if None, only one isotope must exist in database. Else,
        an error is raised
    electronic_state: str
        if None, only one electronic state must exist in database. Else, an error
        is raised
    verbose: boolean
        if ``True``, print which electronic state we got
    Returns
    -------
    ElectronicState: an :py:class:`~radis.db.classes.ElectronicState` object.
    Examples
    --------
    Get rovibrational energies using the default :ref:`spectroscopic constants <label_db_spectroscopic_constants>`:
    ::
        from radis import getMolecule
        # Here we get the energy of the v=6, J=3 level of the 2nd isotope of CO::
        CO = getMolecule("CO", 2, "X")
        print(CO.Erovib(6, 3))
    .. minigallery:: radis.getMolecule
        :add-heading:
    See Also
    --------
    :py:data:`~radis.db.molecules.Molecules`,
    :py:class:`~radis.db.classes.ElectronicState`
    """
    # molecule
    try:
        mol = Molecules[molecule]
    except KeyError as err:
        raise KeyError(
            "{0} is not defined in molecules with built-in ".format(molecule)
            + "spectroscopic constants. Choose one of: {0}".format(
                list(Molecules.keys())
            )
        ) from err
    # isotope
    if isotope is None:
        if len(list(mol.keys())) != 1:
            raise ValueError(
                "Please precise which isotope among: {0}".format(list(mol.keys()))
            )
        isotope = list(mol.keys())[0]
    try:
        iso = mol[isotope]
    except KeyError as err:
        raise KeyError(
            "Isotope {0} is not defined for molecule {1}. Choose one of: {2}".format(
                isotope, molecule, list(mol.keys())
            )
        ) from err
    # electronic state
    if electronic_state is None:
        if len(list(iso.keys())) != 1:
            raise ValueError(
                "Please choose which electronic state among: {0}".format(
                    list(iso.keys())
                )
            )
        electronic_state = list(iso.keys())[0]
    try:
        state = iso[electronic_state]
    except KeyError as err:
        raise KeyError(
            "{0} is not defined for molecule {1}(iso={2}). Choose one of: {3}".format(
                electronic_state, molecule, isotope, list(mol.keys())
            )
        ) from err
    # print name
    if verbose >= 2:
        print(r"Found {0} in RADIS database".format(state.get_fullname()))
    # Return
    return state