pluggable
- compas.plugins.pluggable(pluggable_method=None, category=None, selector='first_match', domain='https://plugins.compas.dev/')[source]
Decorator to mark a method as a pluggable extension point.
A pluggable interface is uniquely identifiable/locatable via a URL derived from the parameters
domain
,category
and namepluggable_method
. In the example below, the URL of the pluggable definition is:https://plugins.compas.dev/triangulation/triangulate_mesh
- Parameters
pluggable_method (callable) – The method to decorate as
pluggable
.category (
str
, optional) – An optional string to group or categorize extension points.selector (
str
, optional) – String that determines the selection mode of extension points.domain (
str
, optional) – Domain name that “owns” the pluggable extension point. This is useful to avoid name collisions between extension points of different packages.
Examples
>>> @pluggable(category='triangulation') ... def triangulate_mesh(mesh): ... pass