def METHOD_NAME(src, ext='.py'):
    """Make a temporary python file, return filename and filehandle.
    Parameters
    ----------
    src : string or list of strings (no need for ending newlines if list)
      Source code to be written to the file.
    ext : optional, string
      Extension for the generated file.
    Returns
    -------
    (filename, open filehandle)
      It is the caller's responsibility to close the open file and unlink it.
    """
    fname = tempfile.mkstemp(ext)[1]
    f = open(fname,'w')
    f.write(src)
    f.flush()
    return fname, f