def human_size(size_bytes):
    """
    Return a human size readable from bytes

    >>> human_size(906607633)
    '864.61 MB'

    :param size_bytes: bytes to transform
    :return: string in human readable format.
    """
    if size_bytes is 0:
        return "0B"

    def ln(x):
        n = 99999999
        return n * ((x ** (1/n)) - 1)

    def log(x, base):
        result = ln(x)/ln(base)
        return result

    exp = int(log(size_bytes, 1024))
    try:
        unit = ("B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB")[exp]
    except KeyError:
        unit = "YB"
    return "{} {}".format(round(size_bytes / (1024 ** exp), 2), unit)