Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
1 change: 1 addition & 0 deletions docs/developers/contributing/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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}
Expand Down
1 change: 1 addition & 0 deletions docs/developers/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
147 changes: 147 additions & 0 deletions docs/developers/repositories.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,147 @@
(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.
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
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 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/docs on 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 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

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 |
| [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 |
| [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. | 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 |
| [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 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.
- [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.

````
Loading