Tim Monko
November 24, 2025
Foundational scientific software tools deliver innovative, yet reliable methods for research across multiple domains. These tools often rely on community expansion by “downstream” libraries to meet domain-specific needs. napari, an open-source, multidimensional imagee viewer for Python, provides core infrastructure for visualizing and annotating scientific imaging data. Its extendable GUI has empowered a diverse ecosystem of over 550 community-developed plugins (i.e., downstream libraries). Since the public announcement of napari in 2019 and the addition of plugin support soon after, collaboration among core contributors, plugin authors, and users has enabled research workflows that no single library could accomplish alone.
One advantage of napari and its plugin ecosystem is that it enables advanced scientific processing, without necessarily requiring any code! This lowers the barrier to entry for domain scientists who may be beginners to writing code, but need powerful tools to analyze their data. Then, as users meet the limits of available resources, they can learn to extend napari and their image analysis with their own code. In this way, napari serves as an entry point into scientific programming for many researchers, just like other foundational scientific software tools.
The napari project maintains key infrastructure for plugin developers and users, including an easily searchable napari-hub website, a GUI to easily download plugins with the napari-plugin-manager, and tools to easily create plugins (including documentation and the napari-plugin-template). In recent years, collaboration between plugin developers and the napari core team has declined. This has led to challenges in maintaining a healthy plugin ecosystem, with many developers struggling to keep their plugins up to date and aligned with napari’s evolving architecture. This sustainability problem is not unique to napari; its a pattern repeated across scientific software, where the relationship between foundational tools and their domain-specific extensions takes on a transactional nature, rather than a collaborative one. (You can read more about sustainability efforts in core napari at this recent blog post.)
With financial support from the United States Research Software Sustainability Institute (URSSI) Early Career Fellowship, I’ve been working with the napari community to improve the plugin ecosystem’s sustainability. Our goal is to build infrastructure and practices that other scientific software communities can learn from and adapt to meet their own needs.
In 2022, I was drawn in by a community and Chan Zuckerberg Initiative (CZI) promotion of napari as a fast image viewer ready for the needs of complex, large, modern scientific imaging data. In addition, the already present plugins included a number of incredibly powerful extensions that made analysis work possible without me having to know any Python. The napari plugin ecosystem was still in its infancy, but was bolstered by a number of CZI plugin grants, the napari plugin template, and a growing community of enthusiastic developers reaching out to the scientific community. Most importantly, the napari community created welcoming instructional material for new users and developers to get started.
In this way, I would describe my entry into Python as mainly influenced by learning to use napari for my own scientific research. To that end, I started developing napari-ndev as a way to bring bioimage analysis tools to my collaborators, and with the goal of bringing tools, like reproducible high-throughput analyses to napari, something that I felt was missing at the time. Without the opportunity to contribute a plugin, I never would have had the learning experience that led me to become a core contributor and community manager for napari.
The early growth of the plugin ecosystem was very exciting, but it also came with challenges: the plugin system was still maturing, many developers were new to Python and packaging, and there was little infrastructure for long-term maintenance. As initial funding ended and excitement waned, the reality of maintaining research software reared its head.
Our 2023 napari survey captured this disconnect well: 86% of respondents said creating a plugin was easy, but many mentioned the burden of maintenance. Year over year in the surveys, respondents felt it was getting harder to contribute to napari core and maintain plugins. In community meetings and discussions, certain pain points keep coming up: lacking plugin discoverability and quality assesment, dependency hell due to complex environments, deep learning and GPU-accelerated tooling, confusion about what belong in core napari versus what should be a plugin, and maybe most tellingly, that domain scientists writing research software don’t have the time, resources, or expertise to maintain software. Ultimately, there is no clear path for the ecosystem to become sustainable.
A further consideration with all of this is that these plugins are often critical to the workflows of their users. This creates a trust issue in the ecosystem, where users may be hesitant to adopt new version of napari, novel plugins or update existing setups, fearing that they may become unsupported or break their workflows. Afterall, scientific research often depends on reproducibility and stability, and when the tools they rely on are in flux, it can hinder progress. Unfortunately, this pattern eventually led to a drifting apart beween forming between the napari core team and the plugin ecosystem, with communication becoming quieter and trust decreasing. The disconnect went both ways; plugin developers and users felt dependent on napari but disconnected from where it was headed. Core contributors, focused on stabilizing napari itself, had lost touch with what the broader ecosystem needed.
Initiation of this project involved recruiting community members from as many communities as possible and establishing the Plugin Sustainability Initiative. The working group meets at different times for global participation and includes members from diverse scientific (many different career levels and roles) and napari (ie. core team, plugin developers, and users) backgrounds. The most surprising part of the working group outcomes hasn’t been the list of familiar challenges, but instead how much the community wants to help build and shape solutions.
Plugin developers have volunteered to review each other’s work. Instructors have offered to write documentation about Git and GitHub basics. Active developers have suggested programs where unmaintained plugins could find new maintainers. The coversation was never “what should napari do for us?” but rather “how can we work together to make this better?”
In one of the working group meetings it was said well: plugin developers often see the core napari team as shephereds of the whole ecosystem, but at the same time, plugin developers rely on the core team in ways the core team doesn’t always know about and can’t always support. Ultimately, people want ways to be involved more broadly with the whole ecosystem without necessarily having to contribute to the core tools, we just need to send out the invitations and build the right infrastracture to make this possible.
The Plugin Sustainability Initiative has indentified three main objectives:
We’re updating the napari-plugin-template and documentation to follow current best practices from resources including the venerable PyOpenSci,Scientific Python, and Python Packaging User Guide. These new and updated resources will tailored to different experience levels, so that both beginners and experienced developers have personalized napari-specific guidance. This includes:
We’re establishing both automated and human review processes to help plugin developers incorporate personalized feedback. The goal is to improve initial plugin quality, with better tooling and best practices, and then to create ongoing feedback loops for improved longterm maintenance.
These approaches will work together to improve developer experience, plugin quality, and user satisfaction.
The community has expressed a desire to improve discoverability of their plugins and recognition of their efforts. This system will benefit the entire ecosystem by demonstrating maturity and collaboration. The automated tooling and review system will be the foundation of this effort, but a recognition program will be used to incentivize collaborative participation and long-term maintenance. We hope to build on models like Astropy’s affiliate program. We’re figuring out how to:
Open collaboration is central to this project:
These challenges—sustaining domain-specific extensions, coordinating between foundational and downstream projects, supporting novice contributors while maintaining quality—aren’t unique to napari. They show up across scientific software, from Python’s scientific ecosystem to astronomy tools to geosciences platforms.
What might be transferable from this work isn’t any particular piece of technology, but the approach of:
Our work will produce:
Everything we create—updated templates, review tools, documentation—will be open source and documented so other communities can use and adapt it.
This project is supported by the URSSI Early Career Fellowship, with funding from the Sloan Foundation. The fellowship gives me both research support and the opportunity to engage deeply with the scientific software community.
Without this support, building these relationships and infrastructure wouldn’t be possible. Thank you to URSSI and the Sloan Foundation for making this work possible, and to the napari community for showing up and being willing to build this together.
Honestly, the most important outcome isn’t any particular tool or program—it’s the collaborative relationship between napari and its plugin ecosystem feeling healthier than it has in a while. When foundational tools and their extensions work together, everyone benefits: developers don’t duplicate effort, users get more reliable tools, and research moves forward on steadier ground.
If you’re working on scientific software with an extension ecosystem, or if you’re curious about sustainability practices for open source communities, we would love to hear from you.
You can follow our progress and join the conversations on Zulip. This blog post has a companion post on the napari blog, which you can follow for more technical details and community-specific context. We’ll be sharing updates on infrastructure releases, insights from the working group, and early results from the affiliation program over the coming months.