what's the last `?` about in the `author` named group? isn't `\S.*` sufficient? also, that makes the `\s*` at the end pointless, any whitespace will be eaten by `.*` in the named group

same remarks below for `maintainer`

maybe you should define a `PERSON_DOCSTRING_REGEX` template, and complete that to obtain the `author` and `maintainer` regex's (and then use `name` for the label of the named group)?