A CLI tool that analyzes and compares Fedora Rawhide composes to identify package changes in the (by default) Everything repository section for x86_64 architecture.
The tool helps to track:
- New packages added between the two composes
- Packages removed between the two composes
- Package version changes between the two composes
The tool can process JSON compose files and output changes in both human (CLI) and machine readable (JSON) formats.
Run the script for two JSON composes
$ python main.py -o path/to/old.json -n path/to/new.jsonObtain a list of Rawhide composes from N days ago
$ python main.py -d 5Display help
$ python main.py -hClone this repository.
Bootstrap the virtual environment
$ python3 -m venv .venv
$ source .venv/bin/activateUpdate pip and install uv
$ pip install --upgrade pip
$ pip install uvInstall the rest of the dependencies
$ uv syncRun tests
$ pytest -vRun linting
$ ruff check- feat: add option to output a json file as a machine readable output format
- extra: do some performance profiling to learn where the bottlenecks are
- extra: add input validation (Pydantic?)