# Path: tinamit/config.py
# class OpsConfig(object):
# class Config(OpsConfig):
# class Trads(object):
#     def __init__(símismo, pariente, valores=None):
#     def a_dic(símismo):
#     def borrar(símismo, llave):
#     def guardar(símismo):
#     def __contains__(símismo, itema):
#     def __getitem__(símismo, itema):
#     def __setitem__(símismo, llave, valor):
#     def __init__(símismo, archivo, auto=None):
#     def reinic(símismo):
#     def borrar(símismo, llave):
#     def guardar(símismo):
#     def __setitem__(símismo, llave, valor):
#     def __init__(símismo, dir_local):
#     def idioma(símismo):
#     def auxiliares(símismo):
#     def cambiar_idioma(símismo, idioma):
#     def cambiar_aux(símismo, aux):
#     def trad(símismo, texto):
#     def _regen_trads(símismo):
#     AUX = 'aux'
#     PRINC = 'principal'
#     DOMINIO = 'leng'
# 
# Path: tinamit/envolt/bf/_envolt.py
# class ModeloBF(Modelo):
#     """
#     La clase pariente para todos modelos biofísicos.
#     """
# 
#     def __init__(símismo, variables, nombre='bf'):
#         super().__init__(variables, nombre)
# 
#     @classmethod
#     def prb_ingreso(cls):
#         """
#         Debe devolver la ubicación de un archivo de ingresos y una función que lo puede leer.
# 
#         Returns
#         -------
#         tuple[str, Callable]
#         """
# 
#         pass
# 
#     @classmethod
#     def prb_egreso(cls):
#         """
#         Debe devolver la ubicación de un archivo de egresos y una función que lo puede leer.
# 
#         Returns
#         -------
#         tuple[str, Callable]
#         """
# 
#         pass
# 
#     @classmethod
#     def prb_simul(cls):
#         """
#         Debe devolver la ubicación de un archivo de ingresos para correr una simulación de prueba.
# 
#         Returns
#         -------
#         str
#         """
#         pass
# 
#     def unidad_tiempo(símismo):
#         raise NotImplementedError


import inspect
import os
import sys
import traceback
from importlib import import_module as importar_mod
from warnings import warn as avisar
from tinamit.config import _
from ._envolt import ModeloBF



def gen_bf(mod):
    """
    Genera un modelo BF desde un archivo o una subclase de ModeloBF.

    Parameters
    ----------
    mod: str or type or ModeloBF

    Returns
    -------
    ModeloBF
        Una instancia del modelo BF.
    """

    if isinstance(mod, ModeloBF):
        return mod
    elif callable(mod):

# Path: tinamit/config.py
# class OpsConfig(object):
# class Config(OpsConfig):
# class Trads(object):
#     def __init__(símismo, pariente, valores=None):
#     def a_dic(símismo):
#     def borrar(símismo, llave):
#     def guardar(símismo):
#     def __contains__(símismo, itema):
#     def __getitem__(símismo, itema):
#     def __setitem__(símismo, llave, valor):
#     def __init__(símismo, archivo, auto=None):
#     def reinic(símismo):
#     def borrar(símismo, llave):
#     def guardar(símismo):
#     def __setitem__(símismo, llave, valor):
#     def __init__(símismo, dir_local):
#     def idioma(símismo):
#     def auxiliares(símismo):
#     def cambiar_idioma(símismo, idioma):
#     def cambiar_aux(símismo, aux):
#     def trad(símismo, texto):
#     def _regen_trads(símismo):
#     AUX = 'aux'
#     PRINC = 'principal'
#     DOMINIO = 'leng'
# 
# Path: tinamit/envolt/bf/_envolt.py
# class ModeloBF(Modelo):
#     """
#     La clase pariente para todos modelos biofísicos.
#     """
# 
#     def __init__(símismo, variables, nombre='bf'):
#         super().__init__(variables, nombre)
# 
#     @classmethod
#     def prb_ingreso(cls):
#         """
#         Debe devolver la ubicación de un archivo de ingresos y una función que lo puede leer.
# 
#         Returns
#         -------
#         tuple[str, Callable]
#         """
# 
#         pass
# 
#     @classmethod
#     def prb_egreso(cls):
#         """
#         Debe devolver la ubicación de un archivo de egresos y una función que lo puede leer.
# 
#         Returns
#         -------
#         tuple[str, Callable]
#         """
# 
#         pass
# 
#     @classmethod
#     def prb_simul(cls):
#         """
#         Debe devolver la ubicación de un archivo de ingresos para correr una simulación de prueba.
# 
#         Returns
#         -------
#         str
#         """
#         pass
# 
#     def unidad_tiempo(símismo):
#         raise NotImplementedError


# Path: tinamit/envolt/bf/_auto.py
import inspect
import os
import sys
import traceback
from importlib import import_module as importar_mod
from warnings import warn as avisar
from tinamit.config import _
from ._envolt import ModeloBF




def gen_bf(mod):
    """
    Genera un modelo BF desde un archivo o una subclase de ModeloBF.

    Parameters
    ----------
    mod: str or type or ModeloBF

    Returns
    -------
    ModeloBF
        Una instancia del modelo BF.
    """

    if isinstance(mod, ModeloBF):
        return mod
    elif callable(mod):

        if issubclass(mod, ModeloBF):