From fc536ef2c2f313943c38cc6bb83f44f01239d354 Mon Sep 17 00:00:00 2001 From: Tim Monko Date: Tue, 5 May 2026 15:41:07 -0500 Subject: [PATCH 1/3] add org wide repo map --- docs/_toc.yml | 1 + docs/developers/index.md | 1 + docs/developers/repositories.md | 141 ++++++++++++++++++++++++++++++++ 3 files changed, 143 insertions(+) create mode 100644 docs/developers/repositories.md diff --git a/docs/_toc.yml b/docs/_toc.yml index af1d6061f..5351efcb0 100644 --- a/docs/_toc.yml +++ b/docs/_toc.yml @@ -207,6 +207,7 @@ subtrees: - entries: - file: developers/contributing/documentation/docs_template - file: developers/contributing/documentation/docs_deployment + - file: developers/repositories - file: developers/coredev/core_dev_guide subtrees: - entries: diff --git a/docs/developers/index.md b/docs/developers/index.md index 176ef77a8..c1e44f22e 100644 --- a/docs/developers/index.md +++ b/docs/developers/index.md @@ -16,6 +16,7 @@ If you are looking to create and deploy your own napari workshop material, check Resources for contributors +- [Repository map](napari-repositories) - [Contributing guide](napari-contributing) - [Development installation](dev-installation) - [Testing](napari-testing) diff --git a/docs/developers/repositories.md b/docs/developers/repositories.md new file mode 100644 index 000000000..7d1ac3a0d --- /dev/null +++ b/docs/developers/repositories.md @@ -0,0 +1,141 @@ +(napari-repositories)= + +# napari repository map + +This page gives contributors a high-level map of the repositories in the +[napari GitHub organization](https://github.com/napari) and related projects. + +The status labels are approximate and should be read as contributor guidance: + +- **Active**: regular feature work or frequent cross-repository coordination. +- **Maintenance**: stable and useful; bug fixes, documentation updates, and + dependency work are usually the most common changes. +- **Early Development**: new or still changing quickly. Contributions are especially + welcome and can help shape the direction of these projects. These repositories + may be fast changing, but can be easier to contribute to since they have + fewer established conventions and patterns. +- **Backlog**: still relevant, but not a current priority for the core team. + We encourage contributions to these repos to bring them up to speed and + bring functionality to match the original vision for the project. + +## Core application and extensions + +These are the repositories that are most central to the central napari experience. +See [](upstream-dependencies) for libraries that are fundamental to napari functionality +but are developed outside of the napari organization. + +| Repo | Description | Status | +| --- | --- | --- | +| [napari](https://github.com/napari/napari) | Main viewer application and the central repo for layers, events, settings, rendering integration, and releases. | **Active** | +| [napari-console](https://github.com/napari/napari-console) | In-viewer Python console plugin. | **Maintenance** | +| [napari-svg](https://github.com/napari/napari-svg) | SVG export plugin for napari layers. | **Backlog** | +| [napari-metadata](https://github.com/napari/napari-metadata) | Metadata editing plugin for layers; included with bundled installs and `napari[optional]`. | **Active** | + +## Documentation, websites, and communication + +These repos shape how users and contributors discover napari, learn about it, +and interact with project resources online. These repositories are a great place to +contribute, even if you don't have experience with Python, since they mostly involve +writing and design. + +| Repo | Description | Status | +| --- | --- | --- | +| [docs](https://github.com/napari/docs) | Main narrative documentation sources for napari.org, excluding most autogenerated API docs. | Active | +| [workshops](https://github.com/napari/workshops) | Current workshop materials and publishing infrastructure for napari workshops. | Active | +| [napari-sphinx-theme](https://github.com/napari/napari-sphinx-theme) | Shared Sphinx theme and site UI used across napari web properties. | Active | +| [island-dispatch](https://github.com/napari/island-dispatch) | Blog for napari news, announcements, and community updates. | Active | +| [weather-report](https://github.com/napari/weather-report) | Public analytics dashboard for project and ecosystem metrics. | Maintenance | +| [resources](https://github.com/napari/resources) | Shared graphics, copy, and brand resources for the project. | Maintenance | +| [napari.github.io](https://github.com/napari/napari.github.io) | Website content and generated assets used to publish napari.org. | Maintenance | +| [meeting-notes](https://github.com/napari/meeting-notes) | Notes from recurring project meetings. | Active | + +## Plugin System + +The plugin ecosystem is built around the `npe2` plugin engine and manifest specification. +The repositories below are focused on supporting the plugin ecosystem, +whether through core plugin infrastructure and development resources. + +| Repo | Description | Status | +| --- | --- | --- | +| [npe2](https://github.com/napari/npe2) | Plugin manifest and engine v2 for the napari plugin ecosystem. | Active | +| [napari-plugin-manager](https://github.com/napari/napari-plugin-manager) | Graphical plugin installer and management UI inside the viewer. | Active | +| [napari-plugin-template](https://github.com/napari/napari-plugin-template) | Main template for creating new napari plugins. | Active | +| [npe2api](https://github.com/napari/npe2api) | API documentation and schema reference site for the npe2 plugin manifest system. | Active | +| [hub-lite](https://github.com/napari/hub-lite) | Static, lower-maintenance implementation of the napari plugin hub website. | Maintenance | +| [napari-plugin-checks](https://github.com/napari/napari-plugin-checks) | Checks and helper tooling for validating napari plugins. | Backlog | + +## Specialized plugins + +These repos are useful to contributors working on particular workflows or newer +features, but they are not as central as the core application and docs repos. + +| Repo | Description | Status | +| --- | --- | --- | +| [napari-animation](https://github.com/napari/napari-animation) | Plugin for building and exporting animations from viewer state. | Active | +| [napari-geojson](https://github.com/napari/napari-geojson) | GeoJSON support for reading and writing geographic annotation data in napari. | Active | +| [napari-graph](https://github.com/napari/napari-graph) | Graph data structures and algorithms for visualization and editing workflows. | Backlog | +| [napari-tiff](https://github.com/napari/napari-tiff) | TIFF reader and writer plugin maintained by the napari team. | Active | +| [bermuda](https://github.com/napari/bermuda) | Performance-oriented spatial algorithms project, including compiled Rust components. | Maintenance | +| [midi-app-controller](https://github.com/napari/midi-app-controller) | MIDI controller integration for driving the napari UI. | Maintenance | +| [napari-xarray](https://github.com/napari/napari-xarray) | Integration work for xarray-based data and labeled nD arrays in napari. | Backlog | +| [update-checker](https://github.com/napari/update-checker) | Viewer extension for checking whether a bundled napari app has an available update. | Backlog | + +## Release, packaging, and ecosystem tooling + +These repos support packaging, automation, plugin infrastructure, and other +project-level operations. + +| Repo | Description | Status | +| --- | --- | --- | +| [packaging](https://github.com/napari/packaging) | Build and packaging infrastructure for bundled installers and app distribution. | Active | +| [napari-release-tools](https://github.com/napari/napari-release-tools) | Scripts and automation used to streamline the release process. | Active | +| [shared-workflows](https://github.com/napari/shared-workflows) | Reusable GitHub Actions workflows shared across napari repositories. | Active | +| [pins](https://github.com/napari/pins) | Version constraints and compatibility pins for the napari plugin ecosystem. | Backlog | +| [constructor-manager](https://github.com/napari/constructor-manager) | Tooling related to managing constructor-based app bundles. | Backlog | + +(upstream-dependencies)= +## Important upstream dependencies + +The repositories below are not in the `napari` GitHub organization, but they +are important friends of napari that are contributed to by members of the napari community. +The following `pyapp-kit` projects were largely spun out of napari by the work +of Talley Lambert, and they continue to be developed in close coordination with napari's needs. + +- [vispy/vispy](https://github.com/vispy/vispy): rendering backend and canvas + infrastructure used by napari. +- [pyapp-kit/magicgui](https://github.com/pyapp-kit/magicgui): automatic widget + generation from Python type hints, widely used in plugins and some napari UI. +- [pyapp-kit/superqt](https://github.com/pyapp-kit/superqt): extended Qt widgets + used by napari and related plugins. +- [pyapp-kit/app-model](https://github.com/pyapp-kit/app-model): action and + command model used by modern napari UI infrastructure. +- [pyapp-kit/psygnal](https://github.com/pyapp-kit/psygnal): typed event and + signal system used across the pyapp-kit and napari ecosystem. + +````{dropdown} Archived and historical repositories + +Archived repositories are included here for completeness. In most cases, new +work should start in a different repository. + +- [cookiecutter-napari-plugin](https://github.com/napari/cookiecutter-napari-plugin): predecessor to `napari-plugin-template`. +- [dummy-test-plugin](https://github.com/napari/dummy-test-plugin): testing plugin used for plugin-system development. +- [image-types](https://github.com/napari/image-types): type-definition experiment for image-oriented Python code. +- [jupyterlab-bot](https://github.com/napari/jupyterlab-bot): historical fork. +- [magicgui](https://github.com/napari/magicgui): mirror of the upstream `pyapp-kit/magicgui` project. +- [napari-core](https://github.com/napari/napari-core): early core repository from before the current `napari` layout. +- [napari-data](https://github.com/napari/napari-data): example-data repository. +- [napari-hello-world](https://github.com/napari/napari-hello-world): example plugin repository. +- [napari-io](https://github.com/napari/napari-io): early IO plugin repository. +- [napari-language-packs](https://github.com/napari/napari-language-packs): repository for downloadable language packs for the napari UI. +- [napari-plugin-devtools](https://github.com/napari/napari-plugin-devtools): tooling repo for plugin developers. +- [napari-plugin-engine](https://github.com/napari/napari-plugin-engine): legacy plugin engine based on pluggy. +- [napari-scipy2025-workshop](https://github.com/napari/napari-scipy2025-workshop): workshop-specific repository for the SciPy 2025 napari tutorial materials. +- [napari-web-experimental](https://github.com/napari/napari-web-experimental): archived exploration of a possible web front end. +- [napari-workshop-template](https://github.com/napari/napari-workshop-template): template for creating napari workshop websites and materials. +- [old-docs](https://github.com/napari/old-docs): documentation repository from an older docs system. +- [plugin-cookiecutter](https://github.com/napari/plugin-cookiecutter): early plugin cookiecutter repository. +- [product-heuristics-2020](https://github.com/napari/product-heuristics-2020): product-heuristics snapshot from 2020. +- [superqt](https://github.com/napari/superqt): mirror of the upstream `pyapp-kit/superqt` project. +- [surveys](https://github.com/napari/surveys): Analysis workflows for napari survey data. + +```` \ No newline at end of file From da751641f74e2311303a046a1e0b66288a496480 Mon Sep 17 00:00:00 2001 From: Tim Monko Date: Tue, 5 May 2026 15:46:56 -0500 Subject: [PATCH 2/3] language improvement pass --- docs/developers/repositories.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/docs/developers/repositories.md b/docs/developers/repositories.md index 7d1ac3a0d..8a00bc847 100644 --- a/docs/developers/repositories.md +++ b/docs/developers/repositories.md @@ -8,8 +8,14 @@ This page gives contributors a high-level map of the repositories in the The status labels are approximate and should be read as contributor guidance: - **Active**: regular feature work or frequent cross-repository coordination. + We welcome contributors to these repositories to help drive forward new features and improvements. + Contributions to these repositories are likely to be more visible, but + may also require more coordination with the core team and other contributors. - **Maintenance**: stable and useful; bug fixes, documentation updates, and dependency work are usually the most common changes. + Contributions within this scope will be attended to in a timely manner, while + larger feature contributions may require more discussion and coordination to + ensure they fit with the current direction and scope of the project. - **Early Development**: new or still changing quickly. Contributions are especially welcome and can help shape the direction of these projects. These repositories may be fast changing, but can be easier to contribute to since they have @@ -27,9 +33,9 @@ but are developed outside of the napari organization. | Repo | Description | Status | | --- | --- | --- | | [napari](https://github.com/napari/napari) | Main viewer application and the central repo for layers, events, settings, rendering integration, and releases. | **Active** | -| [napari-console](https://github.com/napari/napari-console) | In-viewer Python console plugin. | **Maintenance** | -| [napari-svg](https://github.com/napari/napari-svg) | SVG export plugin for napari layers. | **Backlog** | -| [napari-metadata](https://github.com/napari/napari-metadata) | Metadata editing plugin for layers; included with bundled installs and `napari[optional]`. | **Active** | +| [napari-console](https://github.com/napari/napari-console) | In-viewer Python console plugin. | Maintenance | +| [napari-svg](https://github.com/napari/napari-svg) | SVG export plugin for napari layers. | Backlog | +| [napari-metadata](https://github.com/napari/napari-metadata) | Metadata editing plugin for layers; included with bundled installs and `napari[optional]`. | Active | ## Documentation, websites, and communication @@ -42,11 +48,11 @@ writing and design. | --- | --- | --- | | [docs](https://github.com/napari/docs) | Main narrative documentation sources for napari.org, excluding most autogenerated API docs. | Active | | [workshops](https://github.com/napari/workshops) | Current workshop materials and publishing infrastructure for napari workshops. | Active | -| [napari-sphinx-theme](https://github.com/napari/napari-sphinx-theme) | Shared Sphinx theme and site UI used across napari web properties. | Active | +| [napari-sphinx-theme](https://github.com/napari/napari-sphinx-theme) | Shared Sphinx theme and site UI used across napari websites. | Active | | [island-dispatch](https://github.com/napari/island-dispatch) | Blog for napari news, announcements, and community updates. | Active | | [weather-report](https://github.com/napari/weather-report) | Public analytics dashboard for project and ecosystem metrics. | Maintenance | | [resources](https://github.com/napari/resources) | Shared graphics, copy, and brand resources for the project. | Maintenance | -| [napari.github.io](https://github.com/napari/napari.github.io) | Website content and generated assets used to publish napari.org. | Maintenance | +| [napari.github.io](https://github.com/napari/napari.github.io) | Website content and generated assets used to publish napari/docs on napari.org. | Maintenance | | [meeting-notes](https://github.com/napari/meeting-notes) | Notes from recurring project meetings. | Active | ## Plugin System @@ -61,7 +67,7 @@ whether through core plugin infrastructure and development resources. | [napari-plugin-manager](https://github.com/napari/napari-plugin-manager) | Graphical plugin installer and management UI inside the viewer. | Active | | [napari-plugin-template](https://github.com/napari/napari-plugin-template) | Main template for creating new napari plugins. | Active | | [npe2api](https://github.com/napari/npe2api) | API documentation and schema reference site for the npe2 plugin manifest system. | Active | -| [hub-lite](https://github.com/napari/hub-lite) | Static, lower-maintenance implementation of the napari plugin hub website. | Maintenance | +| [hub-lite](https://github.com/napari/hub-lite) | Static implementation of the napari plugin hub website. | Active | | [napari-plugin-checks](https://github.com/napari/napari-plugin-checks) | Checks and helper tooling for validating napari plugins. | Backlog | ## Specialized plugins @@ -71,13 +77,13 @@ features, but they are not as central as the core application and docs repos. | Repo | Description | Status | | --- | --- | --- | -| [napari-animation](https://github.com/napari/napari-animation) | Plugin for building and exporting animations from viewer state. | Active | +| [napari-animation](https://github.com/napari/napari-animation) | Plugin for building and exporting animations from viewer state. | Maintenance | | [napari-geojson](https://github.com/napari/napari-geojson) | GeoJSON support for reading and writing geographic annotation data in napari. | Active | | [napari-graph](https://github.com/napari/napari-graph) | Graph data structures and algorithms for visualization and editing workflows. | Backlog | | [napari-tiff](https://github.com/napari/napari-tiff) | TIFF reader and writer plugin maintained by the napari team. | Active | +| [napari-xarray](https://github.com/napari/napari-xarray) | Integration work for xarray-based data and labeled nD arrays in napari. | Backlog | | [bermuda](https://github.com/napari/bermuda) | Performance-oriented spatial algorithms project, including compiled Rust components. | Maintenance | | [midi-app-controller](https://github.com/napari/midi-app-controller) | MIDI controller integration for driving the napari UI. | Maintenance | -| [napari-xarray](https://github.com/napari/napari-xarray) | Integration work for xarray-based data and labeled nD arrays in napari. | Backlog | | [update-checker](https://github.com/napari/update-checker) | Viewer extension for checking whether a bundled napari app has an available update. | Backlog | ## Release, packaging, and ecosystem tooling @@ -87,7 +93,7 @@ project-level operations. | Repo | Description | Status | | --- | --- | --- | -| [packaging](https://github.com/napari/packaging) | Build and packaging infrastructure for bundled installers and app distribution. | Active | +| [packaging](https://github.com/napari/packaging) | Build and packaging infrastructure for bundled installers and app distribution. | Maintenance | | [napari-release-tools](https://github.com/napari/napari-release-tools) | Scripts and automation used to streamline the release process. | Active | | [shared-workflows](https://github.com/napari/shared-workflows) | Reusable GitHub Actions workflows shared across napari repositories. | Active | | [pins](https://github.com/napari/pins) | Version constraints and compatibility pins for the napari plugin ecosystem. | Backlog | From 514ba24872cc08726ba87b69e6fefc3b8a7710c5 Mon Sep 17 00:00:00 2001 From: Tim Monko Date: Tue, 5 May 2026 15:56:32 -0500 Subject: [PATCH 3/3] add to contributing index --- docs/developers/contributing/index.md | 1 + docs/developers/repositories.md | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/developers/contributing/index.md b/docs/developers/contributing/index.md index 5ba7b626b..e658439d1 100644 --- a/docs/developers/contributing/index.md +++ b/docs/developers/contributing/index.md @@ -5,6 +5,7 @@ We welcome your contributions! Here you will find a guide to the contribution workflow and tips for contributing to napari. If you are looking to learn more about the napari code base, see the [napari architecture guide](architecture-index). +If you are looking for an overview of all the repositories in the napari organization, see the [repository map](napari-repositories). Please [contact](contact) us if you have any queries. ```{note} diff --git a/docs/developers/repositories.md b/docs/developers/repositories.md index 8a00bc847..762ec1219 100644 --- a/docs/developers/repositories.md +++ b/docs/developers/repositories.md @@ -77,7 +77,7 @@ features, but they are not as central as the core application and docs repos. | Repo | Description | Status | | --- | --- | --- | -| [napari-animation](https://github.com/napari/napari-animation) | Plugin for building and exporting animations from viewer state. | Maintenance | +| [napari-animation](https://github.com/napari/napari-animation) | Plugin for building and exporting animations from viewer state. | Active | | [napari-geojson](https://github.com/napari/napari-geojson) | GeoJSON support for reading and writing geographic annotation data in napari. | Active | | [napari-graph](https://github.com/napari/napari-graph) | Graph data structures and algorithms for visualization and editing workflows. | Backlog | | [napari-tiff](https://github.com/napari/napari-tiff) | TIFF reader and writer plugin maintained by the napari team. | Active | @@ -104,8 +104,8 @@ project-level operations. The repositories below are not in the `napari` GitHub organization, but they are important friends of napari that are contributed to by members of the napari community. -The following `pyapp-kit` projects were largely spun out of napari by the work -of Talley Lambert, and they continue to be developed in close coordination with napari's needs. +The following `pyapp-kit` projects were largely spun out of napari and +continue to be developed in close coordination with napari's needs. - [vispy/vispy](https://github.com/vispy/vispy): rendering backend and canvas infrastructure used by napari.