Building a plugin#

Plugins allow developers to customize and extend napari. This includes

Your first plugin

If you’re just getting started with napari plugins, try our tutorial to build your first plugin!

Plugin functionality

New pieces of functionality are termed contributions. To understand what plugins can add to napari, see the plugin contributions guide.

Best practices

There are a few best practices to keep in mind when building a plugin. See the best practices guide for details.

Testing and publishing

Testing your plugin is an important step before publishing. Once your plugin is ready, you can publish it to PyPI, conda-forge and the napari-hub. See the testing and publishing guide for details.

Introducing npe2

We introduced a new plugin engine npe2 in December 2021.

Unless otherwise stated, most of the documentation herein pertains to the new npe2 format (which uses a static napari.yaml manifest)

Plugins targeting the first generation napari-plugin-engine (using @napari_hook_implementation decorators, see npe1) will continue to work for at least the first half of 2022, but we recommend migrating to npe2. See the migration guide for details.