Usage

Download statistics for 2026-07-16.

PyPI Download Statistics
# napari npe2 napari-plugin-manager
Last day 6101 5590 2152
Last week 42511 41266 17101
Last month 157340 186464 75987
Total 7251382 6285229 1216431
Conda Download Statistics
# napari npe2 napari-plugin-manager
Total 263863 177953 71180
Last version 269 3000 12741
Bundled App Downloads
Windows macOS Linux
14425 7005 2054
Forum Engagement

There are 1439 topics on forum.image.sc with the napari tag.

Total engagement: 932 users.

492 topics active since 2024-01-01 with 440 users.

Download Maps

GitHub Statistics

Activity Overview
Napari issues activity

Cumulative activity on the repository.

Napari pull requests activity

Cumulative PR activity.

Napari GitHub Stars

Current star count.

Napari Downloads per Day
Daily download form conda
Conda API only provides information about total downloads. So if we have holes in data, the information is interpolated and show as straight line.
Version downloaded from conda in last 30 days
Basic GitHub Statistics (2026-07-16)
Name Value
Stars2697
Active contributors86
Average PR per day0.32
Total PRs5321
Merged PRs4460
PRs closed without merge727
Open PRs134
Merged PRs since 2024-01-011371
Open PRs since 2024-01-01294
New features since 2024-01-0155
New enhancements since 2024-01-01198
Bug fixes since 2024-01-01294
Issues closed since 2024-01-01854
Issues opened since 2024-01-01986

Contributor Activity

Top Contributor Metrics
All Time
PR creator Total napari/napari napari/docs napari/npe2
Czaki 933 830 79 24
tlambert03 664 536 2 126
sofroniewn 485 482 0 3
psobolewskiPhD 378 268 101 9
brisvag 308 282 21 5
jni 287 220 66 1
Carreau 274 255 1 18
TimMonko 220 136 81 3
melissawm 179 62 110 7
DragaDoncila 157 109 31 17
Since 2024-01-01
PR creator Total napari/napari napari/docs napari/npe2
Czaki 496 428 58 10
psobolewskiPhD 276 204 65 7
TimMonko 220 136 81 3
brisvag 167 144 19 4
jni 114 55 58 1
willingc 90 41 38 11
melissawm 80 11 68 1
DragaDoncila 74 31 30 13
dalthviz 61 57 4 0
Aniketsy 56 55 1 0
All Time
PR coauthor Total napari/napari napari/docs napari/npe2
Czaki 6014 5640 239 135
tlambert03 5301 4456 3 842
brisvag 3297 3117 94 86
sofroniewn 3113 3096 0 17
psobolewskiPhD 2023 1397 556 70
jni 1856 1593 254 9
andy-sweet 1606 1566 38 2
TimMonko 1522 1084 406 32
pwinston 1470 1470 0 0
DragaDoncila 1193 945 137 111
Since 2024-01-01
PR coauthor Total napari/napari napari/docs napari/npe2
Czaki 3298 3060 173 65
brisvag 1912 1737 92 83
TimMonko 1521 1083 406 32
psobolewskiPhD 1396 967 378 51
jni 728 509 212 7
dalthviz 638 623 15 0
DragaDoncila 451 242 130 79
willingc 414 186 162 66
lucyleeow 267 113 152 2
melissawm 238 22 215 1
All Time
PR creator Total napari/napari napari/docs napari/npe2
tlambert03 664 536 2 126
sofroniewn 485 482 0 3
Carreau 274 255 1 18
andy-sweet 146 140 4 2
lucyleeow 108 69 32 7
dalthviz 107 100 6 1
goanpeca 99 97 1 1
dstansby 98 81 16 1
pwinston 85 85 0 0
alisterburt 71 70 1 0
Since 2024-01-01
PR creator Total napari/napari napari/docs napari/npe2
dalthviz 61 57 4 0
Aniketsy 56 55 1 0
lucyleeow 48 25 21 2
dstansby 32 26 5 1
andy-sweet 15 11 4 0
rahul713rk 10 10 0 0
cnstt 9 6 3 0
GenevieveBuckley 8 7 1 0
lukasz-migas 6 5 1 0
jacopoabramo 6 6 0 0
All Time
PR reviewer Total napari/napari napari/docs napari/npe2
sofroniewn 4432 4424 1 7
jni 3654 3363 269 22
Czaki 3493 3209 219 65
tlambert03 2401 2228 0 173
brisvag 2150 1968 130 52
psobolewskiPhD 2133 1373 714 46
andy-sweet 1168 1144 21 3
TimMonko 892 610 247 35
DragaDoncila 880 623 180 77
Carreau 873 842 9 22
Since 2024-01-01
PR reviewer Total napari/napari napari/docs napari/npe2
Czaki 1614 1466 126 22
psobolewskiPhD 1381 927 430 24
brisvag 1088 938 106 44
jni 1041 820 208 13
TimMonko 891 609 247 35
DragaDoncila 464 306 122 36
willingc 387 250 121 16
lucyleeow 205 101 102 2
melissawm 175 29 145 1
dalthviz 122 119 3 0

Plugin Statistics

Name Value
Plugin count 646
Total plugin downloads (PyPI) 62845206
Total plugin downloads (Conda) 3559311
Plugins above 1500 downloads (last month) 61
Actively developed plugins (since 2024-01-01) 418

Plugins with more than 1500 downloads last month are considered actively used. Excluded: skan, PartSeg

Repository Activity

From 2026-07-06 to 2026-07-12

Merged old PRs
  • 📗 napari/napari#8262 Add floating axes canvas overlay by Modjular
  • 📗 napari/napari#8391 Histogram for the Image layer controls and contrast limits popup by TimMonko
  • 📗 napari/napari#8636 [Labels, Perf] Refactor painting to use masks and bounding boxes by psobolewskiPhD
  • 📗 napari/napari#8658 Add example driving computation from gui by applio
  • 📗 napari/docs#1002 Update Theme contribution guidance by TimMonko
  • 📗 napari/napari#8936 Fix: napari script runner with multiprocessing by TimMonko
  • 📗 napari/napari#9018 [Shapes] When using Shift to draw circle/square, allow shape to grow in direction of mouse drag by psobolewskiPhD
  • 📗 napari/napari#9042 Accept `pathlib.Path` in reader and writer plugin utilities by omkar-334
  • 📗 napari/napari#9069 make LabelColorMapBase deep-copyable by TeunHuijben
  • 📗 napari/napari#9070 Make Wayland XCB/GLX workaround modular for non-NVIDIA GPUs by anwai98
  • 📗 napari/napari#9075 Feat: add cellpose-inspired right-click to encircle mask creation interaction mode by tlambert03
  • 📗 napari/napari#9078 Theme colors adjustments by brisvag
  • 📗 napari/napari#9091 Actually use pride logo by brisvag
  • 📗 napari/napari#9108 fix(typing): add typing and fix mypy errors in `qt_range_slider_popup.py` by Aniketsy
  • 📗 napari/napari#9107 feat: add metadata submenu to the layers menu by isheikh8492
  • 📗 napari/napari#9106 bump numpy to 2.5.0 in mypy constraints to fix `[unused-ignore]` errors by Aniketsy
  • 📗 napari/napari#9104 Drop Python 3.10 and implement 3.11+ changes by TimMonko
  • 📗 napari/napari#9102 fix(typing): add typing and fix mypy error in `qt_spinbox.py` by Aniketsy
  • 📗 napari/napari#9098 fix(typing): add typing and fix mypy errors in `custom_types.py` by Aniketsy
  • 📗 napari/napari#9114 Enable clickable links for tips that have URLs by psobolewskiPhD
  • 📗 napari/napari#9134 Minimum support for zarr>=3 for builtins by TimMonko
  • 📗 napari/napari#9133 Remove `compat.py` (and `StrEnum` export), update imports, and remove case-insens lookup by TimMonko
  • 📗 napari/napari#9122 [pre-commit.ci] pre-commit autoupdate by pre-commit-ci[bot]
  • 📗 napari/napari#9117 Limit dims scroll to 1 step at a time by brisvag
  • 📗 napari/docs#1057 ci(dependabot): bump the github-actions group across 1 directory with 5 updates by dependabot[bot]
  • 📗 napari/docs#1056 Add initial release notes for 0.8.0 by Czaki
  • 📗 napari/napari#9143 Show active level in Auto entry of multiscale combobox by kephale
  • 📗 napari/napari#9142 Use level-0 extent for multiscale bounding box overlay by kephale
  • 📗 napari/napari#9141 Fix multiscale _set_view_slice when switching to 3D by kephale
  • 📗 napari/napari#9153 Remove `pyautogui` and update failing tests on Windows-Qt6 by TimMonko
  • 📗 napari/napari#9152 `QApplication` mouse event to trigger event filter of `test_toggle_menubar` by TimMonko
  • 📗 napari/napari#9151 Toggleable `synced` (default) and separated camera views across ndisplay by TimMonko
  • 📗 napari/napari#9149 Guard against stale index for layer paint methods by TimMonko
  • 📗 napari/napari#9148 Remove `color_dict_to_colormap` by Rupeshhsharma
  • 📗 napari/napari#9147 Remove `image_reader_to_layerdata_reader` by Rupeshhsharma
  • 📗 napari/napari#9146 Stop using pickle when copying/pasting spatial features of layer by Czaki
  • 📗 napari/docs#1059 Feature documentation for image layer histogram by TimMonko
Solved old Issues
  • 📗 napari/napari#6761 New labels annotation tool and tensorstore by fjorka
  • 📗 napari/napari#5128 Show histogram on top of display range slider by haesleinhuepf
  • 📗 napari/napari#2379 Improve performance of fill/undo-fill in large arrays by jni
  • 📗 napari/docs#169 PR # on release notes should be links by sofroniewn
  • 📗 napari/napari#8363 Ability to auto-fill closed labels when painting by jni
  • 📗 napari/napari#8562 [Labels] Polygon tool rasterization speed depends on the size, gets very slow for large arrays by psobolewskiPhD
  • 📗 napari/napari#8586 Update reading/reader utilities to use `Path` objects rather than only `str` by DragaDoncila
  • 📗 napari/napari#8590 [Labels] Annotating with brush_size >1000 is choppy, >2000 blocks by psobolewskiPhD
  • 📗 napari/napari#8843 Add Layers > Metadata contributable submenu by psobolewskiPhD
  • 📗 napari/napari#8874 maint: remove vendored StrEnum backport when dropping 3.10 by jacopoabramo
  • 📗 napari/napari#8894 [async] Investigate why simple Labels methods fail in script by psobolewskiPhD
  • 📗 napari/napari#8939 [dask] Unable to paint in zarr opened via drag and drop as labels by psobolewskiPhD
  • 📗 napari/napari#9047 [labels] painting doesn't work for xarray backed labels layer by psobolewskiPhD
  • 📗 napari/docs#1049 Video 404 in Quickstart by Yann-P
  • 📗 napari/napari#9105 numpy 2.5.0 causes mypy failure by TimMonko
  • 📗 napari/napari#9132 Remove `image_reader_to_layerdata_reader` by Aniketsy
  • 📗 napari/napari#9131 Remove `color_dict_to_colormap` by Aniketsy
  • 📗 napari/napari#9150 The help icons have dissapeared from viewer button popups by TimMonko
New PRs
  • 📗 napari/napari#9162 `macos-15` runner instead of `macos-latest` (now `macos-26`) to prevent segfaults by TimMonko
  • 📗 napari/napari#9161 Fix: Restore tooltip symbol QSS after #9003 by TimMonko
  • 📕 napari/napari#9160 Disable cache for slices access in `TransformChain` by Czaki
  • 📗 napari/napari#9158 Update `certifi`, `coverage`, `fsspec`, `hypothesis`, `ipython`, `npe2`, `pillow`, `pydantic-settings`, `pytest`, `pytest-rerunfailures`, `scipy`, `tqdm`, `virtualenv`, `wrapt` by napari-bot
  • 📖 napari/napari#9157 fix(typing): add typing and fix mypy errors in `_layer_delegate.py` by Aniketsy
  • 📖 napari/napari#9156 Warn instead of fail on PR author check by TimMonko
  • 📖 napari/napari#9155 Add CITATION.cff validation and re-order authors (with pre-commit) by TimMonko
  • 📗 napari/napari#9154 gitignore various agent related file names by TimMonko
  • 📖 napari/npe2#481 ci: [pre-commit.ci] autoupdate by pre-commit-ci[bot]
  • 📖 napari/npe2#480 ci(dependabot): bump astral-sh/setup-uv from 8.2.0 to 8.3.0 by dependabot[bot]
  • 📗 napari/napari#9187 [shapes] Ensure that Shift while drawing locks the actual aspect ratio by psobolewskiPhD
  • 📗 napari/napari#9186 Enh: Selectable text in ConfirmCloseDialog by TimMonko
  • 📖 napari/napari#9185 fix(typing): resolve mypy errors for `qt_widget_controls_base` by jacopoabramo
  • 📕 napari/napari#9184 Bump `virtualenv>=20.24.7` for min_req tests by TimMonko
  • 📖 napari/napari#9183 fix(typing): add typing and fix mypy error in `qt_edge_color.py` by Aniketsy
  • 📖 napari/napari#9182 fix (typing): add typing and fix mypy error in `qt_symbol_combobox.py` by Aniketsy
  • 📗 napari/napari#9181 Fix: update cached unit scale when layer data dimensionality changes (#9164) by TimMonko
  • 📖 napari/napari#9180 fix(typing): add typing and fix mypy error in `qt_current_size_slider.py` by Aniketsy
  • 📖 napari/napari#9179 fix(typing): add typing and fix mypy error in `qt_border_color.py` by Aniketsy
  • 📖 napari/napari#9178 fix(typing): add typing and fix mypy error in `qt_vectors_controls.py` by Aniketsy
  • 📗 napari/napari#9177 Remove method and functions marked for removal in 0.8.0 by Czaki
  • 📖 napari/napari#9176 fix(typing): add typing and fix mypy error in `qt_tracks_controls.py` by Aniketsy
  • 📗 napari/napari#9175 Add WCAG contrast table to Theme Sample example by TimMonko
  • 📖 napari/napari#9174 Add hint for missing qt6-wayland when conda Qt cannot start napari on Wayland by anwai98
  • 📖 napari/napari#9173 fix(typing): add typing and fix mypy error in `qt_layer_controls_container.py` by Aniketsy
  • 📖 napari/napari#9172 typing: safe removal `qt_image_controls_base.py` from mypy ignore by Aniketsy
  • 📖 napari/napari#9171 typing: remove `experimental.qt_poll.py` from mypy ignore by Aniketsy
  • 📖 napari/napari#9170 fix(typing): add typing and fix mypy error in `confirm_close_dialog.py` by Aniketsy
  • 📖 napari/napari#9169 fix(typing): add typing and fix mypy error in `qt_list_model.py` by Aniketsy
  • 📖 napari/napari#9168 fix(typing): add typing and fix mypy error in `qt_layer_model.py` by Aniketsy
  • 📖 napari/napari#9167 fix(typing): add typing and fix mypy error in `qt_axis_model.py` by Aniketsy
  • 📖 napari/napari#9163 Fix test to work on macos-26 by Czaki
  • 📗 napari/docs#1065 Add Camera Guide to explain synced/separate camera modes by TimMonko
  • 📗 napari/docs#1064 Fix video relative paths which had extra '..' by jni
  • 📗 napari/docs#1063 Add video and fallback image for histogram highlight by jni
  • 📗 napari/docs#1062 Update 0.8.0 release notes, add highlight by Czaki
  • 📗 napari/docs#1061 Update organization ownership policy by TimMonko
  • 📕 napari/docs#1060 docs: document GitHub org owner policy and update governance by TimMonko
  • 📗 napari/napari#9191 Clean rest of elements marked as "to remove in 0.8.0" by Czaki
  • 📖 napari/docs#1067 Update label name in condition of label trigger build by Czaki
  • 📗 napari/docs#1066 Final update of release notes for 0.8.0 by Czaki
New Issues
  • 📖 napari/napari#9159 Bermuda Shapes triangulation produces non-equivalent mesh for valid polygon-with-holes by ArneDefauw
  • 📖 napari/napari#9190 Deprecation warning in pytest by jni
  • 📖 napari/napari#9189 Histogram: Feedback and Follow-ups by TimMonko
  • 📖 napari/napari#9188 Async slicing can render `Labels` with stale dtype-dependent direct colormap state by ArneDefauw
  • 📖 napari/napari#9166 Add improved error message for qt conda install and Wayland by TimMonko
  • 📖 napari/napari#9165 Floating axes canvas overlay follow-ups by TimMonko
  • 📗 napari/napari#9164 Problem displaying 3D data in layer that was used for 2D data by rixius
  • 📖 napari/napari#9193 Improvements to auto-fill labels by jni
  • 📖 napari/napari#9192 flake: test_async_slice_image_on_order_change by jni
Updated old PRs
  • 📖 napari/napari#8914 Example: Comparison of messages in napari (notifications, logs, etc) by TimMonko
  • 📖 napari/napari#8980 Make label colormaps immutable, layer owns show_selected_label (alternative to #8967) by hinderling
  • 📖 napari/napari#9004 Move fragile tests to a separate CI run by Czaki
  • 📖 napari/napari#9059 [shapes] Preserve selection when changing ndisplay or slices and avoid stale highlights by psobolewskiPhD
  • 📖 napari/napari#9067 Progressive loading for 2D and 3D by kephale
  • 📖 napari/napari#9077 Change deploy_docs to use reusable actions by Czaki
  • 📖 napari/napari#9110 fix(typing): add typing and fix mypy error in `qt_mode_buttons.py` by Aniketsy
  • 📖 napari/napari#9116 Use shared version of label clean workflow by Czaki
  • 📖 napari/napari#9119 fix(typing): add typing and fix mypy errors in `qt_dict_table.py` by Aniketsy
  • 📖 napari/napari#9123 fix(typing): add typing and fix mypy erorr in `qt_face_color.py` and `qt_widget_controls_base.py` by Aniketsy
  • 📖 napari/napari#9126 fix(typing): add typing and fix mypy error in `_base_item_model.py` by Aniketsy
  • 📖 napari/napari#9127 fix(typing): add typing and fix mypy error in `_base_item_view.py` by Aniketsy
  • 📖 napari/napari#9145 [perf] Use chunk-aware loading for 2d multiscale by psobolewskiPhD
Updated old Issues
  • 📖 napari/napari#9128 Double-right-click to zoom *out* by duetduet
  • 📖 napari/napari#9050 Exchange matrices are flagged as `Singular matrix` by the napari viewer (and break the viewer) by jo-mueller
  • 📖 napari/napari#3796 Interactive feature plot by chili-chiu
  • 📖 napari/napari#9088 [plugin, save dialog] ome.tiff matches with .tiff of builtins by psobolewskiPhD
  • 📖 napari/napari#9144 `convert_to_uint8` rejects non-native byte order by jiyuuchc
  • 📖 napari/napari#5358 Create system for layer controls layout and visuals by isabela-pf
  • 📖 napari/napari#8995 Explore an optional in-app guided tour by sdiebolt
  • 📖 napari/napari#7072 Multiple unexpected events emitted during multiselection by OnionKiller
  • 📖 napari/napari#8821 Display channel name overlay in channel color by saramcardle
Source data available here.