1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
Metadata-Version: 2.4
Name: npe2
Version: 0.7.8
Summary: napari plugin engine v2
Project-URL: homepage, https://github.com/napari/npe2
Project-URL: repository, https://github.com/napari/npe2
Author: Nathan Clack
Author-email: Talley Lambert <talley.lambert@gmail.com>
License: BSD-3-Clause
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Typing :: Typed
Requires-Python: >=3.8
Requires-Dist: appdirs
Requires-Dist: build>=1
Requires-Dist: psygnal>=0.3.0
Requires-Dist: pydantic
Requires-Dist: pyyaml
Requires-Dist: rich
Requires-Dist: tomli-w
Requires-Dist: tomli; python_version < '3.11'
Requires-Dist: typer
Provides-Extra: dev
Requires-Dist: black; extra == 'dev'
Requires-Dist: ipython; extra == 'dev'
Requires-Dist: isort; extra == 'dev'
Requires-Dist: mypy; extra == 'dev'
Requires-Dist: pre-commit; extra == 'dev'
Provides-Extra: docs
Requires-Dist: jinja2; extra == 'docs'
Requires-Dist: magicgui>=0.3.3; extra == 'docs'
Provides-Extra: json
Requires-Dist: jsonschema; extra == 'json'
Provides-Extra: testing
Requires-Dist: jsonschema; extra == 'testing'
Requires-Dist: magicgui; extra == 'testing'
Requires-Dist: napari-plugin-engine; extra == 'testing'
Requires-Dist: napari-svg==0.1.5; extra == 'testing'
Requires-Dist: numpy; extra == 'testing'
Requires-Dist: pytest; extra == 'testing'
Requires-Dist: pytest-cov; extra == 'testing'
Requires-Dist: pytest-pretty; extra == 'testing'
Description-Content-Type: text/markdown
# npe2 - napari plugin engine version 2
[](https://github.com/napari/npe2/actions/workflows/ci.yml)
[](https://codecov.io/gh/napari/npe2)
## Project description
The **napari plugin engine version 2**, **npe2** extends the functionality of
[napari's core](https://github.com/napari/napari).
The plugin ecosystem offers user additional functionality for napari as well
as specific support for different scientific domains.
This repo contains all source code and documentation required for defining, validating and managing plugins for napari.
## Getting started
The [napari plugin docs landing page](https://napari.org/stable/plugins/index.html)
offers comprehensive information for **plugin users** and for **plugin developers**.
### Plugin users
For plugin users, the docs include information about:
- [Starting to use plugins](https://napari.org/stable/plugins/start_using_plugins/index.html#plugins-getting-started)
- [Finding and installing plugins](https://napari.org/stable/plugins/start_using_plugins/finding_and_installing_plugins.html#find-and-install-plugins)
### Plugin developers
For plugin developers, the docs cover topics like:
- [Building a plugin](https://napari.org/stable/plugins/building_a_plugin/index.html)
- [Guides to different plugin contributions](https://napari.org/stable/plugins/building_a_plugin/guides.html)
- [Technical references such as the plugin manifest](https://napari.org/stable/plugins/technical_references/manifest.html)
Try the [**napari plugin template**](https://github.com/napari/napari-plugin-template)
to streamline development of a new plugin.
## Installation
The `npe2` command line tool can be installed with `pip` or `conda`, but will already be installed as a dependency if you have napari installed.
### Using pip
1. Create and activate a virtual environment.
*If you are new to using virtual environments, visit our [virtual environments guide](https://napari.org/stable/plugins/virtual_environment_docs/1-virtual-environments.html)*.
```bash
python3 -m venv .venv
source .venv/bin/activate
```
2. Install npe2.
```bash
pip install npe2
```
3. Test your installation.
```bash
npe2 --help
```
### Using conda
1. Create and activate a virtual environment.
```bash
conda create -n npe-test -c conda-forge python=3.12
conda activate npe-test
```
2. Install npe2.
```bash
conda install npe2
```
3. Test your installation.
```bash
npe2 --help
```
## Usage
The command line tool `npe2` offers the following commands:
```bash
cache Cache utils
compile Compile @npe2.implements contributions to generate a manifest.
convert Convert first generation napari plugin to new (manifest) format.
fetch Fetch manifest from remote package.
list List currently installed plugins.
parse Show parsed manifest as yaml.
validate Validate manifest for a distribution name or manifest filepath.
```
### Examples
List currently installed plugins:
```bash
npe2 list
```
Compile a source directory to create a plugin manifest:
```bash
npe2 compile PATH_TO_SOURCE_DIRECTORY
```
Convert current directory to an npe2-ready plugin
(note: the repo must also be installed and importable in the current environment.):
```bash
npe2 convert .
```
Validate a plugin package. For example, a plugin named `your-plugin-package`:
```bash
npe2 validate your-plugin-package
```
Show a parsed manifest of your plugin:
```bash
npe2 parse your-plugin-package
```
## License
npe2 uses the [BSD License](./LICENSE).
## History
This repo replaces the initial napari plugin engine v1.
See also https://github.com/napari/napari/issues/3115 for
motivation and technical discussion about the creation of v2.
## Contact us
Visit [our community documentation](https://napari.org/stable/community/index.html)
or [open a new issue on this repo](https://github.com/napari/npe2/issues/new).
|