The napari plugin architecture is contained in an independent package called napari-plugin-engine, which is a fork of pluggy. The concept is based around:

  • hook specifications: function signatures that identify an API (argument names and types) that plugin developers must adhere to

  • hook implementations: functions that plugin developers write to extend napari functionality, by providing the actual mechanism (implementation) for a specific hook specification.

The best place to get started with learning how plugins are incorporated into napari is to look at the napari-plugin-engine documentation. In particular, look through the Usage Overview and the API Reference.

The documentation for pluggy is also useful for understanding the concepts, but do note that a lot of the attribute names and API is different in napari-plugin-engine.