Should present packages names in the dist specific naming convention, so one can reuse the package string with the base package manager etc.
The simplest way might be to add a dict -> string formatter function to each backend to format a string from dict entries: [{"name":"rdesktop", "version":"1.7.0", "arch":"x86_64"} ... ] which are stored in the packages() and depends(), lists something in line with: for p in packages(): str_packages.append(backend.format(p));