Repology is a service which monitors a lot of package repositories and other sources and aggregates data on software package versions, reporting new releases and packaging problems.
This repository contains Repology web application code. See it online. See also the updater code, a backend service which updates the repository information.
- Python 3.11+
- Python module flask
- Python module libversion (also requires libversion C library)
- Python module pillow
- Python module psycopg2
- PostgreSQL 14.0+
- PostgreSQL extension libversion
For HTML validation in tests:
- Python module pytidylib and tidy-html5 library
For python code linting:
- Python module flake8
- Python module flake8-builtins
- Python module flake8-import-order
- Python module flake8-quotes
- Python module mypy
To run the webapp, you first need a database created and filled by repology-updater as explained in its documentation.
Repology is a flask application, so as long as you've set up database and configuration, you may just run the application locally:
./repology-app.py
and point your browser to http://127.0.0.1:5000/ to view the site. This should be enough for personal use, experiments and testing.
Alternatively, you may deploy the application in numerous ways, including mod_wsgi, uwsgi, fastcgi and plain CGI application. See flask documentation on deployment for more info.
For instance, you can deploy with uwsgi
with the following command
line arguments:
uwsgi --mount /=repology-app:app --pythonpath=<path-to-repology-checkout>
GPLv3 or later, see COPYING.