npe2
napari plugin engine v2
What it is and what it does
npe2 is the plugin engine that powers napari's extensibility ecosystem. It provides tooling to define, validate, compile, and manage plugins that extend napari's core functionality for scientific imaging and domain-specific tasks. The package includes a command-line tool and programmatic API for plugin developers to build and distribute plugins, and for users to discover and manage installed plugins.
The engine handles plugin manifest validation, compilation of decorator-based plugin contributions into manifests, conversion of older napari plugins to the new format, and runtime plugin discovery. It depends on pydantic for schema validation, typer for CLI scaffolding, and rich for terminal output formatting.
Use it for:
- Build a napari plugin by using npe2 to compile @npe2.implements decorators into a valid plugin manifest
- Validate a plugin package before distribution to ensure its manifest conforms to npe2 specifications
- Convert an existing napari v1 plugin to the npe2 format using the convert command
- List and inspect all currently installed napari plugins and their manifests via CLI
- Fetch and parse plugin manifests from remote packages to understand plugin capabilities
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
npe2 is a plugin engine and management system for napari that enables discovery, validation, compilation, and installation of napari plugins through both CLI and programmatic interfaces.
Yes. npe2 is actively maintained, has no known vulnerabilities, and is either a direct dependency for napari plugin development or automatically installed with napari itself. Install it if you are building, validating, or managing napari plugins; it is not needed for end users simply running napari with plugins already installed.
Install
npe2 on PyPI
pip
pip install npe2uv
uv add npe2poetry
poetry add npe2Installing npe2
Before you install
Low friction install with a pure-Python wheel. Actively maintained with a recent release (49 days ago) and current commit activity. Depends on well-established libraries like pydantic, typer, and rich.
License in practice
BSD-3-Clause permissive license allows commercial and private use with minimal restrictions; suitable for most projects.
Quickstart
pip install npe2
npe2 --help
npe2 list
npe2 validate your-plugin-package
Requires Python 3.10 or later.
Verify before relying
- Whether npe2 is required separately or automatically installed as a napari dependency in typical usage
- Performance characteristics when managing large numbers of plugins
- Backwards compatibility guarantees between npe2 versions for existing plugin manifests
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 10 — build, platformdirs, psygnal, pydantic, pydantic-extra-types, pyyaml, rich, tomli-w, tomli, typer |
| Maintenance | actively maintained — 49 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 198,704/month — #9,720 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: npe2-0.8.3-py3-none-any.whl
Tags
More Application Frameworks packages
FastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
textualTextual is a Python framework for building…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
mcpBuild and connect to Model Context Protocol…
permissive · top 1,000 on PyPI
WerkzeugWerkzeug is a WSGI utility library providing…
permissive · top 1,000 on PyPI
napari-plugin-engineA plugin discovery and hook-calling system for…
permissive · top 15,000 on PyPI
napari-plugin-managerProvides a graphical interface for discovering,…
permissive · top 15,000 on PyPI
napari-consoleAdds an interactive Python console panel to…
permissive · top 15,000 on PyPI
napari-svgNapari-svg is a plugin that exports image data…
permissive · top 15,000 on PyPI
naparinapari is an interactive, multi-dimensional…
permissive · top 15,000 on PyPI
spaceforgeSpaceforge is a Python framework for building…
permissive · top 15,000 on PyPI
pycat-napariPyCAT-Napari is a napari-based desktop…
permissive · top 15,000 on PyPI
apm-cliAPM is a dependency manager and configuration…
permissive · top 15,000 on PyPI
plugincodePlugincode provides a plugin system for Python…
permissive · top 15,000 on PyPI
colcon-devtoolsExtends colcon-core to expose information about…
permissive · top 15,000 on PyPI