'Gather and present the versions of each package'

def format_versions(self, formatted_versions):

    versions_dict = {}
    versions_dict['available_versions_full'] = list(formatted_versions.keys())
    if self.match_version:
        versions_dict['matched_versions_full'] = []
        versions_dict['requested_match_version'] = self.match_version
        versions_dict['matched_versions'] = []
    versions_dict['available_versions_full'].sort(key=LooseVersion)
    versions_dict['latest_full'] = versions_dict['available_versions_full'][(-1)]
    versions_dict['available_versions'] = []
    for version in versions_dict['available_versions_full']:
        versions_dict['available_versions'].append(formatted_versions[version]['version'])
        if self.match_version:
            if version.startswith(self.match_version):
                versions_dict['matched_versions_full'].append(version)
                versions_dict['matched_versions'].append(formatted_versions[version]['version'])
    versions_dict['available_versions'].sort(key=LooseVersion)
    versions_dict['latest'] = versions_dict['available_versions'][(-1)]
    if self.match_version:
        if versions_dict['matched_versions_full']:
            versions_dict['matched_version_found'] = True
            versions_dict['matched_versions'].sort(key=LooseVersion)
            versions_dict['matched_version_latest'] = versions_dict['matched_versions'][(-1)]
            versions_dict['matched_version_full_latest'] = versions_dict['matched_versions_full'][(-1)]
        else:
            versions_dict['matched_version_found'] = False
            versions_dict['matched_versions'] = []
            versions_dict['matched_version_latest'] = ''
            versions_dict['matched_version_full_latest'] = ''
    return versions_dict
