About

Repology is a service which tracks and compares package versions in more than 120 package repositories.

Purpose

Supported repositoroes

How does it work?

First, repology fetches and parses available sources of data on packages. There is a built-in set of fetchers and parsers for many types of sources, such as text index files, git repositories, web pages and JSON API output.

After raw package data is obtained from all available sources, it is aggregated per upstream project. By default, package names are used to aggregate packages, and though it works fine for most cases, real world data contains inconsincies, so first an elaborate ruleset is used to handle inconsistencies specially. For instance, rules allow to merge packages with different names into a single project (for example, firefox, firefox-lts and firefox43 into a single firefox), or, instead, split packages with a same name into multiple project (for example, clementine may be either a player or window manager, which are unrelated projects).

Last, for each project versions are compared with a custom general algorithm, and each package is classified by its version.

Ruleset is also used to mark ignored and devel versions

Updates

The repository data and the website are updated hourly.

Development

Repology is developed on GitHub. Issues and pull requests are welcome.

Junior tasks include proofreading English texts (README, html templates), finding more mismatched packages and adding name transformation rules for them.