From ffc22d0f2ecaa7c7e0a3a4cf7b0a616cdeddf4c4 Mon Sep 17 00:00:00 2001 From: jaimergp Date: Fri, 19 Jul 2024 07:59:47 +0200 Subject: [PATCH] Add docs about the new `napari-base` structure (#457) # References and relevant issues # Description Describes the actions taken at https://github.com/conda-forge/napari-feedstock/pull/63 --------- Co-authored-by: Juan Nunez-Iglesias --- docs/developers/coredev/packaging.md | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/developers/coredev/packaging.md b/docs/developers/coredev/packaging.md index 65ddc6e94..2451d8c9f 100644 --- a/docs/developers/coredev/packaging.md +++ b/docs/developers/coredev/packaging.md @@ -26,7 +26,7 @@ This is all automated by the `conda-forge` infrastructure (see [previous example We only need to check that the metadata in the recipe has been adjusted for the new release. Pay special attention to the runtime dependencies and version strings! -> We keep a copy of the feedstock's recipe in the `napari/packaging` repo, which is updated manually whenever a change to `setup.cfg` is detected. +> We keep a copy of the feedstock's recipe in the `napari/packaging` repo, which is updated manually whenever a change to `pyproject.toml` is detected. > Check the file `conda-recipe/meta.yaml` and make sure its `outputs` contents are synced to the `napari-feedstock` copy. Once the conda-forge CI is passing and the PR is approved and merged, the final packages will be built on the default branch and uploaded to the `conda-forge` channel. @@ -36,6 +36,22 @@ Due to the staging steps and CDN synchronization delays, the conda packages can Check {doc}`release` for more details about the conda-forge release process and maintenance tasks. ``` +#### conda packaging split + +We provide three different outputs in the conda package recipe: + +- `napari-base`: This is the package that ships the actual source and data. The runtime + requirements only include the basic functionality. This package is recommended as a + dependency for plugins and other projects. Most end users will prefer the `napari` + package, below, but this one may be useful for those wanting a more minimal + environment. +- `napari`: This output is what most users want. It depends on `napari-base`, and adds optional yet + recommended dependencies for (performant) GUI usage, like the plugin manager or numba. Note that + the Qt backend is _not_ included. +- `napari-menu`: Depends on `napari`, and ships the menuinst JSON file, in case you want a desktop + shortcut to start the application easily. This is included as part of the bundled installers for + convenience. + ### conda packages in the `napari` channel The `napari` project also has a `napari` channel in anaconda.org.