<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def fromexample(name=None, engine=None):
 """ Load example series data. Data are downloaded from S3, so this method requires an internet connection. Parameters name : str Name of dataset, options include 'iris' | 'mouse' | 'fish'. If not specified will print options. engine : object, default = None Computational engine (e.g. a SparkContext for Spark) """

    import os
    import tempfile
    import shutil
    from boto.s3.connection import S3Connection

    datasets = ['iris', 'mouse', 'fish']

    if name is None:
        print('Availiable example series datasets')
        for d in datasets:
            print('- ' + d)
        return

    check_options(name, datasets)

    d = tempfile.mkdtemp()

    try:
        os.mkdir(os.path.join(d, 'series'))
        os.mkdir(os.path.join(d, 'series', name))
        conn = S3Connection(anon=True)
        bucket = conn.get_bucket('thunder-sample-data')
        for key in bucket.list(os.path.join('series', name) + '/'):
            if not key.name.endswith('/'):
                key.get_contents_to_filename(os.path.join(d, key.name))
        data = frombinary(os.path.join(d, 'series', name), engine=engine)

        if spark and isinstance(engine, spark):
            data.cache()
            data.compute()

    finally:
        shutil.rmtree(d)

    return data