File: PKG-INFO

package info (click to toggle)
python-npe2 0.7.8-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 828 kB
  • sloc: python: 7,088; makefile: 19
file content (196 lines) | stat: -rw-r--r-- 5,965 bytes parent folder | download
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

[![CI](https://github.com/napari/npe2/actions/workflows/ci.yml/badge.svg)](https://github.com/napari/npe2/actions/workflows/ci.yml)
[![codecov](https://codecov.io/gh/napari/npe2/branch/main/graph/badge.svg?token=FTH635x542)](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).