For the matching, yes, our CSV format is used.  I thought that was a decent solution.  The other approach is to let `packagesmatching` take four parameters (package, version, arch, manager).  Do you like that better?

I could return the matches in a data container.  It would be the first non-JSON function with that return type but it seems appropriate otherwise.  What do you like?