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.
- Python 3.10+
- 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:
For python code linting:
- Python module flake8
- Python module flake8-builtins
- Python module flake8-import-order
- Python module flake8-quotes
- Python module mypy
Preparing the database
To run the webapp, you first need a database created and filled by repology-updater as explained in its documentation.
Running the webapp
Repology is a flask application, so as long as you've set up database and configuration, you may just run the application locally:
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
uwsgi --mount /=repology-app:app --pythonpath=<path-to-repology-checkout>
GPLv3 or later, see COPYING.