def METHOD_NAME(tablename, engine=None, **kwargs):
    """Fetch data into an `GravitySpyTable`
    Parameters
    ----------
    table : `str`,
        The name of table you are attempting to receive triggers
        from.
    selection
        other filters you would like to supply
        underlying reader method for the given format
    .. note::
       For now it will attempt to automatically connect you
       to a specific DB. In the future, this may be an input
       argument.
    Returns
    -------
    table : `GravitySpyTable`
    """
    from sqlalchemy.engine import create_engine
    from sqlalchemy.exc import ProgrammingError
    # connect if needed
    if engine is None:
        conn_kw = {}
        for key in ('db', 'host', 'user', 'passwd'):
            try:
                conn_kw[key] = kwargs.pop(key)
            except KeyError:
                pass
        engine = create_engine(get_connection_str(**conn_kw))
    try:
        return GravitySpyTable(fetch(engine, tablename, **kwargs))
    except ProgrammingError as exc:
        if 'relation "%s" does not exist' % tablename in str(exc):
            msg = exc.args[0]
            msg = msg.replace(
                'does not exist',
                'does not exist, the following tablenames are '
                'acceptable:\n    %s\n' % '\n    '.join(engine.table_names()))
            exc.args = (msg,)
        raise