Hosts and maintains an up-to-date plugin registry file, allowing Meshroom users to easily discover and fetch MeshroomHub plugins.
plugins.json lists every meshroomHub public repository that is a Meshroom plugin, along with the version Meshroom should fetch:
{
"url": "https://github.com/meshroomHub/mrSegmentation",
"version": "1.4.1"
}or, for a repository with no tags:
{
"url": "https://github.com/meshroomHub/mrHelloWorld",
"version": "main+bbc9af0"
}url— the repository's GitHub URL.version— the repository's latest tag name, or<default-branch>+<short-sha>of its latest commit if it has no tags.
.github/workflows/update-plugins.yml runs daily and regenerates plugins.json via scripts/update_plugins.py:
- List every public repository in the
meshroomHuborg. - Keep those with a root
meshroomfolder, these are the Meshroom plugins. - For each plugin, compute its current version: its newest tag (by commit date) if it has tags, otherwise
<default-branch>+<short-sha>of its latest commit. - Rewrite
plugins.jsonwith these current values. - If that changed the file, commit it and tag the commit
<year>.<month>.<day>.
