Usage
Download statistics for 2026-03-25.
PyPI Download Statistics
| # | napari | npe2 | napari-plugin-manager |
|---|---|---|---|
| Last day | 5112 | 5441 | 2400 |
| Last week | 34692 | 34050 | 13316 |
| Last month | 121983 | 133089 | 48961 |
| Total | 6691337 | 5689665 | 983889 |
Conda Download Statistics
| # | napari | npe2 | napari-plugin-manager |
|---|---|---|---|
| Total | 236038 | 157525 | 55461 |
| Last version | 142 | 4075 | 655 |
Bundled App Downloads
| Windows | macOS | Linux |
|---|---|---|
| 11515 | 5563 | 1632 |
Forum Engagement
There are 1411 topics on forum.image.sc with the napari tag.
Total engagement: 911 users.
462 topics active since 2024-01-01 with 416 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
Version downloaded from conda in last 30 days
Basic GitHub Statistics (2026-03-25)
| Name | Value |
|---|---|
| Stars | 2613 |
| Active contributors | 68 |
| Average PR per day | 0.29 |
| Total PRs | 5061 |
| Merged PRs | 4255 |
| PRs closed without merge | 698 |
| Open PRs | 108 |
| Merged PRs since 2024-01-01 | 1166 |
| Open PRs since 2024-01-01 | 239 |
| New features since 2024-01-01 | 49 |
| New enhancements since 2024-01-01 | 159 |
| Bug fixes since 2024-01-01 | 261 |
| Issues closed since 2024-01-01 | 759 |
| Issues opened since 2024-01-01 | 854 |
Contributor Activity
Top Contributor Metrics
All Time
| PR creator | Total | napari/napari | napari/docs | napari/npe2 |
|---|---|---|---|---|
| Czaki | 884 | 794 | 66 | 24 |
| tlambert03 | 663 | 535 | 2 | 126 |
| sofroniewn | 485 | 482 | 0 | 3 |
| psobolewskiPhD | 351 | 246 | 98 | 7 |
| jni | 285 | 220 | 64 | 1 |
| brisvag | 282 | 257 | 21 | 4 |
| Carreau | 274 | 255 | 1 | 18 |
| melissawm | 178 | 62 | 109 | 7 |
| DragaDoncila | 156 | 109 | 30 | 17 |
| andy-sweet | 146 | 140 | 4 | 2 |
Since 2024-01-01
| PR creator | Total | napari/napari | napari/docs | napari/npe2 |
|---|---|---|---|---|
| Czaki | 447 | 392 | 45 | 10 |
| psobolewskiPhD | 249 | 182 | 62 | 5 |
| TimMonko | 145 | 99 | 46 | 0 |
| brisvag | 141 | 119 | 19 | 3 |
| jni | 112 | 55 | 56 | 1 |
| willingc | 81 | 36 | 38 | 7 |
| melissawm | 79 | 11 | 67 | 1 |
| DragaDoncila | 73 | 31 | 29 | 13 |
| dalthviz | 61 | 57 | 4 | 0 |
| lucyleeow | 48 | 25 | 21 | 2 |
All Time
| PR coauthor | Total | napari/napari | napari/docs | napari/npe2 |
|---|---|---|---|---|
| Czaki | 5646 | 5338 | 174 | 134 |
| tlambert03 | 5292 | 4447 | 3 | 842 |
| sofroniewn | 3113 | 3096 | 0 | 17 |
| brisvag | 2897 | 2739 | 94 | 64 |
| psobolewskiPhD | 1843 | 1224 | 553 | 66 |
| jni | 1842 | 1587 | 246 | 9 |
| andy-sweet | 1606 | 1566 | 38 | 2 |
| pwinston | 1470 | 1470 | 0 | 0 |
| DragaDoncila | 1191 | 945 | 135 | 111 |
| dalthviz | 1070 | 1009 | 58 | 3 |
Since 2024-01-01
| PR coauthor | Total | napari/napari | napari/docs | napari/npe2 |
|---|---|---|---|---|
| Czaki | 2930 | 2758 | 108 | 64 |
| brisvag | 1511 | 1358 | 92 | 61 |
| psobolewskiPhD | 1216 | 794 | 375 | 47 |
| TimMonko | 925 | 652 | 270 | 3 |
| jni | 714 | 503 | 204 | 7 |
| dalthviz | 638 | 623 | 15 | 0 |
| DragaDoncila | 449 | 242 | 128 | 79 |
| willingc | 381 | 170 | 162 | 49 |
| lucyleeow | 267 | 113 | 152 | 2 |
| melissawm | 231 | 22 | 208 | 1 |
All Time
| PR creator | Total | napari/napari | napari/docs | napari/npe2 |
|---|---|---|---|---|
| tlambert03 | 663 | 535 | 2 | 126 |
| sofroniewn | 485 | 482 | 0 | 3 |
| Carreau | 274 | 255 | 1 | 18 |
| andy-sweet | 146 | 140 | 4 | 2 |
| dalthviz | 107 | 100 | 6 | 1 |
| goanpeca | 99 | 97 | 1 | 1 |
| dstansby | 92 | 76 | 16 | 0 |
| pwinston | 85 | 85 | 0 | 0 |
| alisterburt | 71 | 70 | 1 | 0 |
| liu-ziyang | 54 | 54 | 0 | 0 |
Since 2024-01-01
| PR creator | Total | napari/napari | napari/docs | napari/npe2 |
|---|---|---|---|---|
| dalthviz | 61 | 57 | 4 | 0 |
| dstansby | 26 | 21 | 5 | 0 |
| andy-sweet | 15 | 11 | 4 | 0 |
| rahul713rk | 10 | 10 | 0 | 0 |
| cnstt | 8 | 6 | 2 | 0 |
| lukasz-migas | 6 | 5 | 1 | 0 |
| rwkozar | 5 | 5 | 0 | 0 |
| jules-vanaret | 5 | 5 | 0 | 0 |
| goanpeca | 5 | 5 | 0 | 0 |
| LiudengZhang | 4 | 4 | 0 | 0 |
All Time
| PR reviewer | Total | napari/napari | napari/docs | napari/npe2 |
|---|---|---|---|---|
| sofroniewn | 4432 | 4424 | 1 | 7 |
| jni | 3621 | 3339 | 260 | 22 |
| Czaki | 3265 | 3006 | 197 | 62 |
| tlambert03 | 2401 | 2228 | 0 | 173 |
| brisvag | 1934 | 1797 | 105 | 32 |
| psobolewskiPhD | 1903 | 1184 | 678 | 41 |
| andy-sweet | 1168 | 1144 | 21 | 3 |
| Carreau | 873 | 842 | 9 | 22 |
| DragaDoncila | 864 | 618 | 172 | 74 |
| goanpeca | 788 | 777 | 7 | 4 |
Since 2024-01-01
| PR reviewer | Total | napari/napari | napari/docs | napari/npe2 |
|---|---|---|---|---|
| Czaki | 1386 | 1263 | 104 | 19 |
| psobolewskiPhD | 1151 | 738 | 394 | 19 |
| jni | 1008 | 796 | 199 | 13 |
| brisvag | 872 | 767 | 81 | 24 |
| TimMonko | 628 | 424 | 189 | 15 |
| DragaDoncila | 449 | 302 | 114 | 33 |
| willingc | 316 | 198 | 106 | 12 |
| lucyleeow | 205 | 101 | 102 | 2 |
| melissawm | 169 | 28 | 140 | 1 |
| dalthviz | 122 | 119 | 3 | 0 |
Plugin Statistics
| Name | Value |
|---|---|
| Plugin count | 598 |
| Total plugin downloads (PyPI) | 59271036 |
| Total plugin downloads (Conda) | 3083505 |
| Plugins above 1500 downloads (last month) | 46 |
| Actively developed plugins (since 2024-01-01) | 366 |
Plugins with more than 1500 downloads last month are considered actively used.
Excluded: PartSeg, skan
Repository Activity
From 2026-03-16 to 2026-03-22
Merged old PRs
- 📗 napari/napari#8691 Ensure that errors are propagated during async loading by psobolewskiPhD
- 📗 napari/napari#8730 UI: Add keybinding for Image layer reset_contrast_limits by psobolewskiPhD
- 📗 napari/napari#8728 Fix harvesting plugins from CLI by TimMonko
- 📗 napari/napari#8733 Perf: Deferring pandas import to speedup napari startup by psobolewskiPhD
- 📗 napari/napari#8741 Remove usage of `partial` from `qt_viewer_buttons` by Czaki
- 📗 napari/napari#8747 Raise FileNotFoundError early when opening nonexistent paths by LiudengZhang
- 📗 napari/napari#8746 Add 3D points to add_points_3d example by LiudengZhang
- 📗 napari/napari#8749 Ensure that layers are unlinked after deletion from layerlist by Czaki
- 📗 napari/napari#8764 Fix `image_depth.py` example by setting `blending` to `translucent` by DragaDoncila
- 📗 napari/napari#8760 Fix welcome spacing by brisvag
- 📗 napari/napari#8759 Update box and position of text overlay on font size change by brisvag
- 📗 napari/docs#953 Restructure homepage and add rotating featured examples by TimMonko
- 📗 napari/napari#8768 Restyle new_layer button creation state visuals by TimMonko
- 📗 napari/napari#8767 Update units rendering example for docs gallery by TimMonko
- 📗 napari/docs#956 Wayland Debug information by Czaki
Solved old Issues
- 📗 napari/napari#7456 async slicing does not propagate errors during slicing by jni
- 📗 napari/napari#7947 [UX] Multiplicative blending: opacity slider does nothing, so disable it by psobolewskiPhD
- 📗 napari/napari#8656 Improve error thrown when user tries to open a nonexistent file. by DragaDoncila
- 📗 napari/napari#8712 [example] image_depth does not look as originally intended by psobolewskiPhD
- 📗 napari/napari#8722 The `add_points_3d.py` example doesn't actually add any points by DragaDoncila
- 📗 napari/napari#8757 Improve visualization of `new_layer` button states by TimMonko
- 📗 napari/docs#952 Add instructions for getting napari working on Wayland by TimMonko
New PRs
- 📗 napari/napari#8772 Fix: Fire world unit updates after removing layer by TimMonko
- 📗 napari/napari#8774 [pre-commit.ci] pre-commit autoupdate by pre-commit-ci[bot]
- 📗 napari/napari#8773 Update `imageio`, `pydantic-extra-types`, `tensorstore`, `virtualenv` by napari-bot
- 📖 napari/npe2#442 ci(dependabot): bump astral-sh/setup-uv from 7.3.1 to 7.5.0 by dependabot[bot]
- 📖 napari/npe2#441 ci(dependabot): bump softprops/action-gh-release from 2.5.0 to 2.6.1 by dependabot[bot]
- 📖 napari/npe2#440 ci(dependabot): bump actions/download-artifact from 8.0.0 to 8.0.1 in the github-actions group by dependabot[bot]
- 📗 napari/napari#8776 Disable opacity slider for multiplicative blending by LiudengZhang
- 📕 napari/napari#8775 Derefer update units in vispy overlays on delete layer by Czaki
- 📗 napari/napari#8780 Fix colorbar box offset by brisvag
- 📗 napari/napari#8779 Do not emit warning about units if there is no layer in viewer by Czaki
- 📖 napari/napari#8778 Fix logger from console by brisvag
- 📗 napari/docs#958 Refresh installation guide, with focus on bundled app instructions by TimMonko
- 📗 napari/docs#957 Update release notes for 0.7.0rc1 by DragaDoncila
- 📖 napari/napari#8785 Enh, minor, builtins: use urllib (and defer) instead of requests if reading a remote script path by psobolewskiPhD
- 📗 napari/napari#8784 Fix: ValidationError in Drag to Zoom with data ndim>2 by TimMonko
- 📖 napari/napari#8783 Implement Surface slicing with async request/response by brisvag
- 📗 napari/napari#8782 Fix: Qt6 font error on Windows when adding layers or widgets by TimMonko
- 📗 napari/napari#8781 Update plugin manager constraint by DragaDoncila
- 📗 napari/docs#961 Update release notes for 0.7.0rc3 by DragaDoncila
- 📗 napari/docs#959 Update notes for 0.7.0rc2 by DragaDoncila
- 📖 napari/napari#8789 Perf: Defer importing scipy.spatial by psobolewskiPhD
- 📗 napari/napari#8788 Ensure that visible icon when dialog ask to select plugin to open file by Czaki
- 📖 napari/napari#8786 Small refactor of point slicing + `rescale` projection mode to replace out_of_slice_display by brisvag
- 📖 napari/napari#8792 Solve "Could not resolve type hint for required parameter 'qt_viewer'." by Czaki
- 📖 napari/napari#8791 Enable `TC003` - typing-only-standard-library-import rule in ruff config by Czaki
- 📖 napari/docs#963 Cleanup viewers in `open images` guide to fix squashed viewers by psobolewskiPhD
- 📖 napari/napari#8794 Add app-model to mypy task dependecies and fix errors by Czaki
- 📖 napari/napari#8793 Revert the switch from Welcome widget to Welcome overlay from #8117 by psobolewskiPhD
New Issues
- 📗 napari/napari#8771 Removing a layer (with inconsistent units) does not restore unit-aware rendering by TimMonko
- 📖 napari/napari#8777 Consider renaming `translucent` and `translucent_no_depth` blending by DragaDoncila
- 📖 napari/docs#960 Improve installation page to simplify and direct users to installation method by DragaDoncila
- 📖 napari/napari#8790 Consider ruff check for expensive module level imports by psobolewskiPhD
- 📖 napari/napari#8787 Surface `MultiScaleData` in the public API by dstansby
- 📖 napari/docs#962 Keep an eye on links for direct bundle install asset by TimMonko
- 📖 napari/docs#964 Some API docs are much harder to parse with 0.7.0 (pydantic v2?) by TimMonko
Updated old PRs
- 📖 napari/napari#7993 Clipping planes control widget by brisvag
- 📖 napari/napari#8633 Canvas model by brisvag
- 📖 napari/napari#8699 Decoupling selected label and data by yfukai
- 📖 napari/napari#8715 ENH: For multiscale 2d: store materialized thumbnail_level and initial viewport "home" level by psobolewskiPhD
- 📖 napari/napari#8766 Reintroduce splash screen, but performant by brisvag
- 📖 napari/napari#8770 Canvas based font size by Czaki
Updated old Issues
- 📖 napari/napari#8765 Shape Layer update by tmonseigne
- 📖 napari/napari#5966 Core napari plugins by jni
- 📖 napari/napari#8564 `feature_defaults` overwritten after selection event by jo-mueller
- 📖 napari/napari#8744 Multiscale level selection fails for (very) anisotropic datasets by girochat
- 📖 napari/napari#8452 Axis labels in the user interface (beside the sliders) by MosGeo
- 📖 napari/napari#8689 Slow startup time tracking issue by psobolewskiPhD
Source data available here.