Demonstration of plug-ins for Pyblish being exposed to a search engine via customisable keywords.
Each plug-in is associated with a series of keywords, the keywords are then browsed via plain-text search.
class MyPlugin(...):
tags = ["keyword1", "keyword2"]
The discovered plug-ins are then dynamically added to Pyblish at run-time such that publishing occurs relative to what was searched for.
For example, the search term might include "games character geometry"
which would mine the collection of plug-ins available for any that matched any of the included tags, "games", "character" or "geometry".
Picture having access to 1500 validations, some developed by peers within your company and some provided externally through a cloud-service. You have a number of criterias that your asset must fulfill, but aren't interested in the technicalities of how to actually validate anything; you just care about what's right.
From here, you could conjure up a series of keywords relevant to your requirements and pass it off to the search engine. It would then ensure that every validation passes prior to the asset being shipped.
With this naive approach, keywords are bound to be quite specific.
For example, you might want to validate for the height of an asset. Keywords may include "<=1.5m" or ">=200m" in which case these exact keywords must exist to facilitate this exact requirement.
What would be better, is for there to be a single "MaximumHeight" validation that could be customised to whichever height was sought after.