@classmethod
def from_ibis(cls, dtype, nullable=None):
    """
        Return a OmniSciDBDataType correspondent to the given Ibis data type.

        Parameters
        ----------
        dtype : ibis.expr.datatypes.DataType
        nullable : bool

        Returns
        -------
        OmniSciDBDataType

        Raises
        ------
        NotImplementedError
            if the given data type was not implemented.
        """
    dtype_ = type(dtype)
    if dtype_ in cls.ibis_dtypes:
        typename = cls.ibis_dtypes[dtype_]
    elif dtype in cls.ibis_dtypes:
        typename = cls.ibis_dtypes[dtype]
    else:
        raise NotImplementedError('{} dtype not implemented'.format(dtype))
    if nullable is None:
        nullable = dtype.nullable
    return cls(typename, nullable=nullable)
