def query_dict_list(engine, query):
    """Get the results of a MySQL query as a list of dictionaries.

    :param engine: SQLAlchemy Engine object able to connect to a MySQL database.
    :type engine: Engine
    :param query: MySQL query statement.
    :type query: str
    :returns:
        List of dictionaries, where each dictionary represents a row of data.
    :rtype: list
    """
    result_list = engine.execute(query).fetchall()
    result_dict_list = []
    for row in result_list:
        row_as_dict = dict(row)
        result_dict_list.append(row_as_dict)
    return result_dict_list
