skillfed

napari

n-dimensional array viewer in Python

napari v0.8.0 189.5K downloads/30d#9,927 on PyPI2,733
Permissive license BSD-3-Clause Active released

What it is and what it does

napari is a standalone image viewer and analysis platform built on Qt, vispy, and the scientific Python stack (numpy, scipy, scikit-image). It loads and displays n-dimensional arrays as interactive 2D or 3D slices, supporting six layer types—Image, Labels, Points, Vectors, Shapes, and Surface—each with its own visualization and interactivity model. You can layer multiple data types, adjust properties in real time, and use keyboard shortcuts and mouse functions to interact with the data.

It's designed for researchers and educators who need to browse and annotate large multidimensional datasets without writing custom visualization code. napari runs as a standalone GUI application or can be embedded in Jupyter notebooks and IPython shells, with bidirectional communication between the viewer and Python kernel. The plugin system (via npe2 and napari-plugin-engine) allows extending functionality with custom shortcuts, key bindings, and domain-specific tools.

Use it for:

  • Browse and slice 3D microscopy or medical imaging data interactively without writing custom rendering code.
  • Annotate segmentation masks, points, or shapes on large multidimensional images for training data.
  • Visualize and explore scientific arrays in real time from Jupyter notebooks or IPython shells.
  • Build domain-specific image analysis workflows by extending napari with custom plugins and key bindings.
  • Compare multiple image layers side-by-side with synchronized navigation and property adjustment.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

napari is an interactive, multi-dimensional image viewer for Python that lets you browse, annotate, and analyze large n-dimensional images through a Qt-based GUI with GPU-accelerated rendering.

Yes, if you work with multidimensional scientific images and want an interactive viewer without building custom GUI code. The active maintenance, permissive license, and low install friction make it a solid choice. Install into a dedicated virtual environment to manage the 36 dependencies cleanly. Not recommended if you need headless batch processing or have minimal GPU/display infrastructure.

Install

napari on PyPI

pip

pip install napari

uv

uv add napari

poetry

poetry add napari

Installing napari

Before you install

Low install friction with a wheel distribution. Active maintenance—last commit 2026-08-14, release 31 days ago. Depends on 36 runtime packages including heavy scientific libraries and Qt/GPU rendering; installation time and disk footprint will be substantial but manageable in a dedicated environment.

License in practice

BSD-3-Clause is permissive; you can use, modify, and distribute napari freely in commercial or private projects provided you include the license and copyright notice.

Quickstart

# Install
pip install "napari[all]"

# Interactive use (IPython/Jupyter)
import napari
viewer, layers = napari.imshow(data, channel_axis=1, ndisplay=3)

# Script use
napari.run()  # start the event loop

Requires Python >=3.11. Qt backend (PyQt6 or PySide6) must be installed; the [all] extra handles this. GPU rendering via PyOpenGL requires a compatible graphics driver.

Verify before relying

  • Whether the 36 runtime dependencies resolve cleanly in all common environments without version conflicts.
  • Performance characteristics and memory footprint when working with very large multidimensional datasets.
  • Plugin ecosystem maturity and availability of third-party extensions for domain-specific workflows.
  • Specific example datasets and workflows supported by the imshow() and run() API.

Package facts

License BSD-3-Clause (permissive)
Python support supports the current Python release (>=3.11)
Install friction low — pure-Python wheel
Runtime dependencies 36 — app-model, cachey, certifi, dask, imageio, jsonschema, lazy_loader, magicgui, napari-console, napari-plugin-engine, napari-svg, npe2, numpy, pandas, Pillow, pint, platformdirs, psutil, psygnal, pydantic, pygments, pydantic-extra-types, pydantic-settings, PyOpenGL, pywin32, PyYAML, qtpy, scikit-image, scipy, superqt
Maintenance actively maintained — 31 days since the last release
Last repo commit
First released
Downloads 189,481/month — #9,927 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: napari-0.8.0-py3-none-any.whl

Development Status :: 4 - BetaEnvironment :: X11 Applications :: QtFramework :: napariIntended Audience :: EducationIntended Audience :: Science/ResearchOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIXOperating System :: UnixProgramming Language :: CProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Bio-InformaticsTopic :: Scientific/Engineering :: Information AnalysisTopic :: Scientific/Engineering :: VisualizationTopic :: Utilities

Tags

multidimensional image viewerscientific image analysis GUIn-dimensional array visualizationinteractive image annotation3D image viewer python
image-viewerscientific-visualizationinteractive-analysis

More Scientific/Engineering packages