human
Here's a good function header given the following:
I wrote the below code

    def parse_version(version):
        tag = None
        tagrev = None
        if ('-' in version):
            v = version.split('-')
            if (len(v) == 2):
                (version, tag) = v
            elif (len(v) == 3):
                (version, tag, tagrev) = v
            else:
                raise Exception('Revision    format    must    be    X.Y.Z[-tag]')
        v = version.split('.')
        if (len(v) != 3):
            if ('dev0' in v):
                tag = v.pop()
            else:
                raise Exception('Revision    format    must    be    X.Y.Z[-tag]')
        return ([int(x) for x in v], tag, tagrev)
    (revision, tag, tagrev) = parse_version(version)
    (sysrevision, systag, systagrev) = parse_version(__version__)
    if (tag not in (None, 'dev')):
        raise Exception('Revision    format    must    not    have    any    tag    except    "dev"')
    if ((tag == 'dev') and (systag != 'dev')):
        Logger.warning(('Application    requested    a    -dev    version    of    Kivy.    (You    have    %s,    but    the    application    requires    %s)' % (__version__, version)))
    if (tagrev is not None):
        raise Exception('Revision    format    must    not    contain    any    tagrevision')
    if (sysrevision < revision):
        raise Exception(('The    version    of    Kivy    installed    on    this    system    is    too    old.    (You    have    %s,    but    the    application    requires    %s)' % (__version__, version)))

What's a good function header?
assistant
#Here's a good function header.

def require(version):