npe2 0.7.9rc0__py3-none-any.whl → 0.8.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- npe2/_command_registry.py +6 -5
- npe2/_dynamic_plugin.py +25 -27
- npe2/_inspection/_compile.py +9 -8
- npe2/_inspection/_fetch.py +18 -30
- npe2/_inspection/_from_npe1.py +26 -32
- npe2/_inspection/_setuputils.py +14 -14
- npe2/_inspection/_visitors.py +26 -21
- npe2/_plugin_manager.py +45 -57
- npe2/_pydantic_util.py +53 -0
- npe2/_pytest_plugin.py +3 -4
- npe2/_setuptools_plugin.py +9 -9
- npe2/cli.py +25 -21
- npe2/implements.py +13 -10
- npe2/implements.pyi +3 -2
- npe2/io_utils.py +40 -44
- npe2/manifest/_bases.py +15 -14
- npe2/manifest/_npe1_adapter.py +3 -3
- npe2/manifest/_package_metadata.py +40 -47
- npe2/manifest/contributions/_commands.py +16 -14
- npe2/manifest/contributions/_configuration.py +22 -20
- npe2/manifest/contributions/_contributions.py +13 -14
- npe2/manifest/contributions/_icon.py +3 -5
- npe2/manifest/contributions/_json_schema.py +86 -89
- npe2/manifest/contributions/_keybindings.py +5 -6
- npe2/manifest/contributions/_menus.py +11 -9
- npe2/manifest/contributions/_readers.py +10 -8
- npe2/manifest/contributions/_sample_data.py +16 -15
- npe2/manifest/contributions/_submenu.py +2 -4
- npe2/manifest/contributions/_themes.py +18 -22
- npe2/manifest/contributions/_widgets.py +6 -5
- npe2/manifest/contributions/_writers.py +22 -18
- npe2/manifest/schema.py +82 -70
- npe2/manifest/utils.py +24 -28
- npe2/plugin_manager.py +17 -14
- npe2/types.py +16 -19
- {npe2-0.7.9rc0.dist-info → npe2-0.8.0.dist-info}/METADATA +13 -7
- npe2-0.8.0.dist-info/RECORD +49 -0
- {npe2-0.7.9rc0.dist-info → npe2-0.8.0.dist-info}/WHEEL +1 -1
- npe2/_pydantic_compat.py +0 -54
- npe2-0.7.9rc0.dist-info/RECORD +0 -49
- {npe2-0.7.9rc0.dist-info → npe2-0.8.0.dist-info}/entry_points.txt +0 -0
- {npe2-0.7.9rc0.dist-info → npe2-0.8.0.dist-info}/licenses/LICENSE +0 -0
npe2/plugin_manager.py
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
# mypy: disable-error-code=empty-body
|
|
2
2
|
"""Convenience module to access methods on the global PluginManager singleton."""
|
|
3
|
+
|
|
3
4
|
from __future__ import annotations
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
import builtins
|
|
7
|
+
from typing import TYPE_CHECKING
|
|
6
8
|
|
|
7
9
|
if TYPE_CHECKING:
|
|
10
|
+
from collections.abc import Iterator, Sequence
|
|
8
11
|
from os import PathLike
|
|
9
|
-
from typing import Any,
|
|
12
|
+
from typing import Any, NewType
|
|
10
13
|
|
|
11
14
|
from npe2 import PluginManifest
|
|
12
15
|
from npe2._plugin_manager import InclusionSet, PluginContext
|
|
@@ -31,9 +34,9 @@ def discover(paths: Sequence[str] = (), clear=False, include_npe1=False) -> None
|
|
|
31
34
|
def dict(
|
|
32
35
|
self,
|
|
33
36
|
*,
|
|
34
|
-
include:
|
|
35
|
-
exclude:
|
|
36
|
-
) ->
|
|
37
|
+
include: InclusionSet | None = None,
|
|
38
|
+
exclude: InclusionSet | None = None,
|
|
39
|
+
) -> builtins.dict[str, Any]:
|
|
37
40
|
"""Return a dictionary with the state of the plugin manager."""
|
|
38
41
|
|
|
39
42
|
|
|
@@ -77,7 +80,7 @@ def get_manifest(plugin_name: str) -> PluginManifest:
|
|
|
77
80
|
"""Get manifest for `plugin_name`"""
|
|
78
81
|
|
|
79
82
|
|
|
80
|
-
def iter_manifests(disabled:
|
|
83
|
+
def iter_manifests(disabled: bool | None = None) -> Iterator[PluginManifest]:
|
|
81
84
|
"""Iterate through registered manifests."""
|
|
82
85
|
|
|
83
86
|
|
|
@@ -93,7 +96,7 @@ def iter_menu(menu_key: str, disabled=False) -> Iterator[contributions.MenuItem]
|
|
|
93
96
|
"""Iterate over `MenuItems` in menu with id `menu_key`."""
|
|
94
97
|
|
|
95
98
|
|
|
96
|
-
def menus(disabled=False) ->
|
|
99
|
+
def menus(disabled=False) -> builtins.dict[str, list[contributions.MenuItem]]:
|
|
97
100
|
"""Return all registered menu_key -> List[MenuItems]."""
|
|
98
101
|
|
|
99
102
|
|
|
@@ -102,7 +105,7 @@ def iter_themes() -> Iterator[contributions.ThemeContribution]:
|
|
|
102
105
|
|
|
103
106
|
|
|
104
107
|
def iter_compatible_readers(
|
|
105
|
-
path:
|
|
108
|
+
path: PathLike | Sequence[str],
|
|
106
109
|
) -> Iterator[contributions.ReaderContribution]:
|
|
107
110
|
"""Iterate over ReaderContributions compatible with `path`."""
|
|
108
111
|
|
|
@@ -117,19 +120,19 @@ def iter_widgets() -> Iterator[contributions.WidgetContribution]:
|
|
|
117
120
|
"""Iterate over discovered WidgetContributions."""
|
|
118
121
|
|
|
119
122
|
|
|
120
|
-
def iter_sample_data() ->
|
|
121
|
-
|
|
122
|
-
|
|
123
|
+
def iter_sample_data() -> Iterator[
|
|
124
|
+
tuple[PluginName, list[contributions.SampleDataContribution]]
|
|
125
|
+
]:
|
|
123
126
|
"""Iterates over (plugin_name, [sample_contribs])."""
|
|
124
127
|
|
|
125
128
|
|
|
126
129
|
def get_writer(
|
|
127
|
-
path: str, layer_types: Sequence[str], plugin_name:
|
|
128
|
-
) ->
|
|
130
|
+
path: str, layer_types: Sequence[str], plugin_name: str | None = None
|
|
131
|
+
) -> tuple[contributions.WriterContribution | None, str]:
|
|
129
132
|
"""Get Writer contribution appropriate for `path`, and `layer_types`."""
|
|
130
133
|
|
|
131
134
|
|
|
132
|
-
def get_shimmed_plugins() ->
|
|
135
|
+
def get_shimmed_plugins() -> list[str]:
|
|
133
136
|
"""Return a list of all shimmed plugin names."""
|
|
134
137
|
|
|
135
138
|
|
npe2/types.py
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
|
-
from
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from collections.abc import Callable, Mapping, Sequence
|
|
2
4
|
from typing import (
|
|
3
5
|
TYPE_CHECKING,
|
|
4
|
-
Callable,
|
|
5
|
-
List,
|
|
6
6
|
Literal,
|
|
7
7
|
NewType,
|
|
8
|
-
Optional,
|
|
9
8
|
Protocol,
|
|
10
|
-
Sequence,
|
|
11
|
-
Tuple,
|
|
12
9
|
Union,
|
|
13
10
|
)
|
|
14
11
|
|
|
@@ -22,7 +19,7 @@ if TYPE_CHECKING:
|
|
|
22
19
|
|
|
23
20
|
# PathLike = Union[str, pathlib.Path] # we really have to pick one
|
|
24
21
|
PathLike = str
|
|
25
|
-
PathOrPaths =
|
|
22
|
+
PathOrPaths = PathLike | Sequence[PathLike]
|
|
26
23
|
PythonName = NewType("PythonName", str)
|
|
27
24
|
|
|
28
25
|
# Layer-related types
|
|
@@ -30,24 +27,24 @@ PythonName = NewType("PythonName", str)
|
|
|
30
27
|
|
|
31
28
|
class ArrayLike(Protocol):
|
|
32
29
|
@property
|
|
33
|
-
def shape(self) ->
|
|
30
|
+
def shape(self) -> tuple[int, ...]: ...
|
|
34
31
|
|
|
35
32
|
@property
|
|
36
33
|
def ndim(self) -> int: ...
|
|
37
34
|
|
|
38
35
|
@property
|
|
39
|
-
def dtype(self) ->
|
|
36
|
+
def dtype(self) -> np.dtype: ...
|
|
40
37
|
|
|
41
|
-
def __array__(self) ->
|
|
38
|
+
def __array__(self) -> np.ndarray: ... # pragma: no cover
|
|
42
39
|
|
|
43
40
|
|
|
44
41
|
LayerName = Literal[
|
|
45
42
|
"graph", "image", "labels", "points", "shapes", "surface", "tracks", "vectors"
|
|
46
43
|
]
|
|
47
44
|
Metadata = Mapping
|
|
48
|
-
DataType =
|
|
49
|
-
FullLayerData =
|
|
50
|
-
LayerData =
|
|
45
|
+
DataType = ArrayLike | Sequence[ArrayLike]
|
|
46
|
+
FullLayerData = tuple[DataType, Metadata, LayerName]
|
|
47
|
+
LayerData = tuple[DataType] | tuple[DataType, Metadata] | FullLayerData
|
|
51
48
|
|
|
52
49
|
# ########################## CONTRIBUTIONS #################################
|
|
53
50
|
|
|
@@ -56,20 +53,20 @@ Widget = Union["magicgui.widgets.Widget", "qtpy.QtWidgets.QWidget"]
|
|
|
56
53
|
WidgetCreator = Callable[..., Widget]
|
|
57
54
|
|
|
58
55
|
# ReaderContribution.command must point to a ReaderGetter
|
|
59
|
-
ReaderFunction = Callable[[PathOrPaths],
|
|
60
|
-
ReaderGetter = Callable[[PathOrPaths],
|
|
56
|
+
ReaderFunction = Callable[[PathOrPaths], list[LayerData]]
|
|
57
|
+
ReaderGetter = Callable[[PathOrPaths], ReaderFunction | None]
|
|
61
58
|
|
|
62
59
|
|
|
63
60
|
# SampleDataGenerator.command must point to a SampleDataCreator
|
|
64
|
-
SampleDataCreator = Callable[...,
|
|
61
|
+
SampleDataCreator = Callable[..., list[LayerData]]
|
|
65
62
|
|
|
66
63
|
# WriterContribution.command must point to a WriterFunction
|
|
67
64
|
# Writers that take at most one layer must provide a SingleWriterFunction command.
|
|
68
65
|
# Otherwise, they must provide a MultiWriterFunction.
|
|
69
66
|
# where the number of layers they take is defined as
|
|
70
67
|
# n = sum(ltc.max() for ltc in WriterContribution.layer_type_constraints())
|
|
71
|
-
SingleWriterFunction = Callable[[str, DataType, Metadata],
|
|
72
|
-
MultiWriterFunction = Callable[[str,
|
|
73
|
-
WriterFunction =
|
|
68
|
+
SingleWriterFunction = Callable[[str, DataType, Metadata], list[str]]
|
|
69
|
+
MultiWriterFunction = Callable[[str, list[FullLayerData]], list[str]]
|
|
70
|
+
WriterFunction = SingleWriterFunction | MultiWriterFunction
|
|
74
71
|
|
|
75
72
|
# ##########################################################################
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: npe2
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.8.0
|
|
4
4
|
Summary: napari plugin engine v2
|
|
5
5
|
Project-URL: homepage, https://github.com/napari/npe2
|
|
6
6
|
Project-URL: repository, https://github.com/napari/npe2
|
|
@@ -13,38 +13,45 @@ Classifier: License :: OSI Approved :: BSD License
|
|
|
13
13
|
Classifier: Natural Language :: English
|
|
14
14
|
Classifier: Programming Language :: Python :: 3
|
|
15
15
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
17
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
18
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
19
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
20
21
|
Classifier: Typing :: Typed
|
|
21
|
-
Requires-Python: >=3.
|
|
22
|
+
Requires-Python: >=3.10
|
|
22
23
|
Requires-Dist: build>=1
|
|
23
24
|
Requires-Dist: platformdirs
|
|
24
25
|
Requires-Dist: psygnal>=0.3.0
|
|
25
|
-
Requires-Dist: pydantic
|
|
26
|
+
Requires-Dist: pydantic-extra-types
|
|
27
|
+
Requires-Dist: pydantic>1
|
|
26
28
|
Requires-Dist: pyyaml
|
|
27
29
|
Requires-Dist: rich
|
|
28
30
|
Requires-Dist: tomli-w
|
|
29
31
|
Requires-Dist: tomli; python_version < '3.11'
|
|
30
32
|
Requires-Dist: typer
|
|
31
33
|
Provides-Extra: dev
|
|
32
|
-
Requires-Dist: black; extra == 'dev'
|
|
33
34
|
Requires-Dist: ipython; extra == 'dev'
|
|
34
35
|
Requires-Dist: isort; extra == 'dev'
|
|
35
36
|
Requires-Dist: mypy; extra == 'dev'
|
|
36
37
|
Requires-Dist: pre-commit; extra == 'dev'
|
|
38
|
+
Requires-Dist: ruff; extra == 'dev'
|
|
37
39
|
Provides-Extra: docs
|
|
40
|
+
Requires-Dist: furo; extra == 'docs'
|
|
38
41
|
Requires-Dist: jinja2; extra == 'docs'
|
|
42
|
+
Requires-Dist: jupyter-book<2; extra == 'docs'
|
|
39
43
|
Requires-Dist: magicgui>=0.3.3; extra == 'docs'
|
|
44
|
+
Requires-Dist: sphinx-tabs; extra == 'docs'
|
|
40
45
|
Provides-Extra: json
|
|
41
46
|
Requires-Dist: jsonschema; extra == 'json'
|
|
42
47
|
Provides-Extra: testing
|
|
48
|
+
Requires-Dist: build; extra == 'testing'
|
|
43
49
|
Requires-Dist: jsonschema; extra == 'testing'
|
|
44
50
|
Requires-Dist: magicgui; extra == 'testing'
|
|
45
51
|
Requires-Dist: napari-plugin-engine; extra == 'testing'
|
|
46
52
|
Requires-Dist: napari-svg==0.1.5; extra == 'testing'
|
|
47
53
|
Requires-Dist: numpy; extra == 'testing'
|
|
54
|
+
Requires-Dist: pip; extra == 'testing'
|
|
48
55
|
Requires-Dist: pytest; extra == 'testing'
|
|
49
56
|
Requires-Dist: pytest-cov; extra == 'testing'
|
|
50
57
|
Requires-Dist: pytest-pretty; extra == 'testing'
|
|
@@ -72,7 +79,6 @@ offers comprehensive information for **plugin users** and for **plugin developer
|
|
|
72
79
|
### Plugin users
|
|
73
80
|
|
|
74
81
|
For plugin users, the docs include information about:
|
|
75
|
-
- [Starting to use plugins](https://napari.org/stable/plugins/start_using_plugins/index.html#plugins-getting-started)
|
|
76
82
|
- [Finding and installing plugins](https://napari.org/stable/plugins/start_using_plugins/finding_and_installing_plugins.html#find-and-install-plugins)
|
|
77
83
|
|
|
78
84
|
### Plugin developers
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
npe2/__init__.py,sha256=IE86nFLHzFypLagLE3lFmieFQINGq-5pDH7IAe39lBU,812
|
|
2
|
+
npe2/__main__.py,sha256=NwbyYIU4bE1YPADH6zxLF3i7_51oELpK1UXz6141iwE,65
|
|
3
|
+
npe2/_command_registry.py,sha256=y_TQzUZvtt3pUP7-BAAkNqGnNSFzbMI7XzNZLQTQYsQ,5048
|
|
4
|
+
npe2/_dynamic_plugin.py,sha256=FTL487t1OgdccC0aPYeUJeIGm7Vct7Zfl7UCbFXAv_A,9975
|
|
5
|
+
npe2/_plugin_manager.py,sha256=N0bmE8p5U1PCxr24H0v-uhRzbhcLR-uP-l785UTNDvs,30577
|
|
6
|
+
npe2/_pydantic_util.py,sha256=k8m6ciya-oxNxDDL-eeXO_dpApYatMSQOylPb7CBy_o,1575
|
|
7
|
+
npe2/_pytest_plugin.py,sha256=LM11LIbdDK1oM8zrVxW5v2SPBPxtwgUbjq0BrEHBkXo,3560
|
|
8
|
+
npe2/_setuptools_plugin.py,sha256=2TGuxhpB9f22XXaWLEhtrXrDaPfNJOwIDBmWNdj9-Xg,6833
|
|
9
|
+
npe2/cli.py,sha256=_1Gs_drlLlXu61JZyN9tVqbhcSZxVFjczu-9jYMTzzY,15698
|
|
10
|
+
npe2/implements.py,sha256=7kqEFCzRMX6sYL3tLt97L6oUBnsHeCkfK8Jf6qwBDyE,4049
|
|
11
|
+
npe2/implements.pyi,sha256=3RVvq41tYTwE655Tq6-QSVQxTGofuHRiL3STgYOxrfc,1406
|
|
12
|
+
npe2/io_utils.py,sha256=_YpXRYzgAD3Wckgaf5PvR1mRI-fGqeNb-l6MFXcL6m4,9896
|
|
13
|
+
npe2/plugin_manager.py,sha256=mnSMs9mqTUV79_C7u-wZrbqQLc1PkeXWNgfErHJbFg0,4473
|
|
14
|
+
npe2/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
npe2/types.py,sha256=j_c50Khyi6-Rbob8QM3ws1rbqpsZr1Un_ZT2oPlcHiE,2179
|
|
16
|
+
npe2/_inspection/__init__.py,sha256=Z23w_mB3aHP1AZlLYDB4OMHjgXQMuBAPzOIYEd1HuFk,295
|
|
17
|
+
npe2/_inspection/_compile.py,sha256=t8cWG3uyE8pm7rAijlLylWlq3DPlbQmNL_EhCLyOOvo,3920
|
|
18
|
+
npe2/_inspection/_fetch.py,sha256=LU3Xn42dRsnA8zcQteie95AGuDQJ13mvHhbheTIn9CI,14116
|
|
19
|
+
npe2/_inspection/_from_npe1.py,sha256=ocIQOaFy7vbFYenTpF-b_dQMT_MMMfxLMSvsF_FhBQA,23512
|
|
20
|
+
npe2/_inspection/_setuputils.py,sha256=F30uR_FaXx3YsEg53qY6QtCceq5Y12fzX4lkiU2FfTQ,4529
|
|
21
|
+
npe2/_inspection/_visitors.py,sha256=a85QH3wVfG9s28MvoF8xyTKx5Getd_rhh_vXK7rnbC8,19878
|
|
22
|
+
npe2/manifest/__init__.py,sha256=sfgHfeC2AKoewwRgnAqX84X0U-ThDHxmt0Olidnmalo,159
|
|
23
|
+
npe2/manifest/_bases.py,sha256=KcmcTD95aOqxIi4vq3wpqUBNaKd5Eku1x71OeUzUmPM,3700
|
|
24
|
+
npe2/manifest/_npe1_adapter.py,sha256=LK7qcRpqzTidhsykQn5G8etVsKOATSBlqR4JMIItzDM,5220
|
|
25
|
+
npe2/manifest/_package_metadata.py,sha256=UjMh1A8TromkAl9-3LFzY_GfcDMHQRi1tmgjo-C1zWs,9197
|
|
26
|
+
npe2/manifest/_validators.py,sha256=v_GaW2DE1A7x3J-VA6mIWMLXO-AijLvZgf4-kcpQfWI,2875
|
|
27
|
+
npe2/manifest/menus.py,sha256=SMJyp1wI45ub8hdZUKqQi9SUZ3GpFlarHsOJ1ZwAMbs,181
|
|
28
|
+
npe2/manifest/package_metadata.py,sha256=sRMPUhpfx-3nn5i3c0BKlbw7KR8AzgIo-ijKq0udXUU,191
|
|
29
|
+
npe2/manifest/schema.py,sha256=xwf_wzyNtTt_i5HiWZa5OQe-lnyugo2FuD3g9VTBdqM,20918
|
|
30
|
+
npe2/manifest/utils.py,sha256=eyrBjNJAb9vka0Rcez3d5X3X9qff3XaZEb-YSltoQZo,12296
|
|
31
|
+
npe2/manifest/contributions/__init__.py,sha256=b5eNqUL5tskS6gVwh_zalBCsPxX6HO1R1tNvG9A3m68,1003
|
|
32
|
+
npe2/manifest/contributions/_commands.py,sha256=-heWBIouLff4gQH70zLiI7Kidu383BpWIIMPaac4NHA,4310
|
|
33
|
+
npe2/manifest/contributions/_configuration.py,sha256=f0GjrlcKoK6KOweiUzoPQRrv0SMfA0Ilf3w_hI3qDd0,6484
|
|
34
|
+
npe2/manifest/contributions/_contributions.py,sha256=9o_vAzaebZ6wQl4EOc5PIS0SF6F8Yc6_TQNXENYBPZo,2481
|
|
35
|
+
npe2/manifest/contributions/_icon.py,sha256=zHwCeE73iF7hZMkVbIS3qb5lziqML3K3SiP_XHjEGfw,113
|
|
36
|
+
npe2/manifest/contributions/_json_schema.py,sha256=nAjXMqeHgbyKJgQrRfoY6TwEYxr6rr3cJ1DYkSePFm4,10658
|
|
37
|
+
npe2/manifest/contributions/_keybindings.py,sha256=FZKoDE9oBjt1Gq3frlEpF8oLWyEt5mbQ7D7xO4jIZuA,909
|
|
38
|
+
npe2/manifest/contributions/_menus.py,sha256=2lINKaq6rx6HUJI9wLScrm4Dh2OhwidTmr3Uiuqq3AU,2239
|
|
39
|
+
npe2/manifest/contributions/_readers.py,sha256=ApMkKthKiFhhHPwm-Z9wRYTVJh25ccoAfvhMboZDeZw,2514
|
|
40
|
+
npe2/manifest/contributions/_sample_data.py,sha256=VAz2ng03ARcG924nSW4pjQYonHsFN1DYhm98JGc6N7g,2394
|
|
41
|
+
npe2/manifest/contributions/_submenu.py,sha256=LOvD4Z68YRRVlw1vUTsuXlGlmbQxKuC7iasEM6dyYuI,902
|
|
42
|
+
npe2/manifest/contributions/_themes.py,sha256=yCgbIDq3MwPeMqd7cwCUnZOUKWVSt-nUh4O_tjzuH6w,2372
|
|
43
|
+
npe2/manifest/contributions/_widgets.py,sha256=C56iGX335-dXx-_pTmUU4kfcemSbKqVoC-U7At14DAc,2223
|
|
44
|
+
npe2/manifest/contributions/_writers.py,sha256=YXOTKqHIzPf-9WyVF4pHrzQ_RR93AbXXTjCcWUruWs0,7949
|
|
45
|
+
npe2-0.8.0.dist-info/METADATA,sha256=NaOxwrNO3A9apEaIJkGMYaMifIpn8T4VRl2XtHBN07g,6151
|
|
46
|
+
npe2-0.8.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
47
|
+
npe2-0.8.0.dist-info/entry_points.txt,sha256=5zoegMudO8Hkn6589GlAXIW49Ar5HSWZjTRc0TkJu3s,250
|
|
48
|
+
npe2-0.8.0.dist-info/licenses/LICENSE,sha256=uyX2Y2Q7D-WzOUc6EKZVDuadkWenBWSYTR--BsewGpg,1514
|
|
49
|
+
npe2-0.8.0.dist-info/RECORD,,
|
npe2/_pydantic_compat.py
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
try:
|
|
2
|
-
# pydantic v2
|
|
3
|
-
from pydantic.v1 import (
|
|
4
|
-
BaseModel,
|
|
5
|
-
Extra,
|
|
6
|
-
Field,
|
|
7
|
-
PrivateAttr,
|
|
8
|
-
ValidationError,
|
|
9
|
-
color,
|
|
10
|
-
conlist,
|
|
11
|
-
constr,
|
|
12
|
-
root_validator,
|
|
13
|
-
validator,
|
|
14
|
-
)
|
|
15
|
-
from pydantic.v1.error_wrappers import ErrorWrapper
|
|
16
|
-
from pydantic.v1.fields import SHAPE_LIST
|
|
17
|
-
from pydantic.v1.generics import GenericModel
|
|
18
|
-
from pydantic.v1.main import ModelMetaclass
|
|
19
|
-
except ImportError:
|
|
20
|
-
# pydantic v2
|
|
21
|
-
from pydantic import (
|
|
22
|
-
BaseModel,
|
|
23
|
-
Extra,
|
|
24
|
-
Field,
|
|
25
|
-
PrivateAttr,
|
|
26
|
-
ValidationError,
|
|
27
|
-
color,
|
|
28
|
-
conlist,
|
|
29
|
-
constr,
|
|
30
|
-
root_validator,
|
|
31
|
-
validator,
|
|
32
|
-
)
|
|
33
|
-
from pydantic.error_wrappers import ErrorWrapper
|
|
34
|
-
from pydantic.fields import SHAPE_LIST
|
|
35
|
-
from pydantic.generics import GenericModel
|
|
36
|
-
from pydantic.main import ModelMetaclass
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
__all__ = (
|
|
40
|
-
"SHAPE_LIST",
|
|
41
|
-
"BaseModel",
|
|
42
|
-
"ErrorWrapper",
|
|
43
|
-
"Extra",
|
|
44
|
-
"Field",
|
|
45
|
-
"GenericModel",
|
|
46
|
-
"ModelMetaclass",
|
|
47
|
-
"PrivateAttr",
|
|
48
|
-
"ValidationError",
|
|
49
|
-
"color",
|
|
50
|
-
"conlist",
|
|
51
|
-
"constr",
|
|
52
|
-
"root_validator",
|
|
53
|
-
"validator",
|
|
54
|
-
)
|
npe2-0.7.9rc0.dist-info/RECORD
DELETED
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
npe2/__init__.py,sha256=IE86nFLHzFypLagLE3lFmieFQINGq-5pDH7IAe39lBU,812
|
|
2
|
-
npe2/__main__.py,sha256=NwbyYIU4bE1YPADH6zxLF3i7_51oELpK1UXz6141iwE,65
|
|
3
|
-
npe2/_command_registry.py,sha256=-L2QLeikqcFalIk-tZgqkgEGjHUCZpm5cIGP0TxzoN8,5056
|
|
4
|
-
npe2/_dynamic_plugin.py,sha256=d-5BcoycRIT7Cnf7ZDfQeiRBv33Ov9mBoH3U_bF8A8g,10024
|
|
5
|
-
npe2/_plugin_manager.py,sha256=0sPujjzJqdx03e-BuXlnMv652OtO18-xyPuJAlva320,30694
|
|
6
|
-
npe2/_pydantic_compat.py,sha256=S7snBijrnYsIovWmlmiZ91bbQNmbLuftr8CUcDnek20,1152
|
|
7
|
-
npe2/_pytest_plugin.py,sha256=Dw73_eHFoBT_mivmFzr73ZGwBe1wwoSb790Mk1QlKn8,3610
|
|
8
|
-
npe2/_setuptools_plugin.py,sha256=VefF1gMcnRxA0yp8tSYkcoB4mkefaf7NST5f0PWHm-M,6786
|
|
9
|
-
npe2/cli.py,sha256=Q3SsDydPHzxxpGAm23JxBHQnp2yo4ZVYR-ug3hHU3dk,15637
|
|
10
|
-
npe2/implements.py,sha256=RmzTS42dCNPLfCKK29rXlLBQ0Gj7gz7A_ewbxKR_2X0,4023
|
|
11
|
-
npe2/implements.pyi,sha256=KcATek_BMxZGGlpd1yBgwBSFkeeJoJhX8S80GuprYRw,1392
|
|
12
|
-
npe2/io_utils.py,sha256=0jnCHWjHSpVeKEXDmsvBXywchxdx2r8JEWIImGB6wBc,10042
|
|
13
|
-
npe2/plugin_manager.py,sha256=e6egPx3H4tlyJ1fMJhske9uKCt1BdupAR6S-EBx1Afg,4466
|
|
14
|
-
npe2/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
-
npe2/types.py,sha256=3CCIQ84yTwUbc8rHBfvpMGgv7Fg968MFX-brXbbhk1I,2216
|
|
16
|
-
npe2/_inspection/__init__.py,sha256=Z23w_mB3aHP1AZlLYDB4OMHjgXQMuBAPzOIYEd1HuFk,295
|
|
17
|
-
npe2/_inspection/_compile.py,sha256=sIjcpyfgaETHrdrAB_jPyLHd2HxOuWdnKkDotXuOTk8,3941
|
|
18
|
-
npe2/_inspection/_fetch.py,sha256=WA1kp8KrUThxXpI4GcKwC8l7jR-1X7bJzIalbB20Vgk,14298
|
|
19
|
-
npe2/_inspection/_from_npe1.py,sha256=WP4mvMouGxRr9KlDmcQNukzS6ScT3izF0WlAN1g91o8,23607
|
|
20
|
-
npe2/_inspection/_setuputils.py,sha256=EUnNq7rAJ4nVnMyaGztCufbT1JDxcJK3G9o3omqmd5U,4575
|
|
21
|
-
npe2/_inspection/_visitors.py,sha256=XqjCR2VqgOlFKBw2SvJJfWhUCEqofSuIxZ8ecLyi7k0,19738
|
|
22
|
-
npe2/manifest/__init__.py,sha256=sfgHfeC2AKoewwRgnAqX84X0U-ThDHxmt0Olidnmalo,159
|
|
23
|
-
npe2/manifest/_bases.py,sha256=Fs_juL_8sS3vR6_FdQ_O5RESiTEUER7BQI0C8ZnKOC0,3649
|
|
24
|
-
npe2/manifest/_npe1_adapter.py,sha256=6ZLGSSy-U6oEQekXeI2l-GXTJC3DuWTlFownbI5e8mo,5217
|
|
25
|
-
npe2/manifest/_package_metadata.py,sha256=NQpEoq50vPK1ULVZnGQVJ5Ns9TUZEwtctQV0s_kpp78,9241
|
|
26
|
-
npe2/manifest/_validators.py,sha256=v_GaW2DE1A7x3J-VA6mIWMLXO-AijLvZgf4-kcpQfWI,2875
|
|
27
|
-
npe2/manifest/menus.py,sha256=SMJyp1wI45ub8hdZUKqQi9SUZ3GpFlarHsOJ1ZwAMbs,181
|
|
28
|
-
npe2/manifest/package_metadata.py,sha256=sRMPUhpfx-3nn5i3c0BKlbw7KR8AzgIo-ijKq0udXUU,191
|
|
29
|
-
npe2/manifest/schema.py,sha256=iUlnhfMI7JqgCzEVUqU5olIn7rgn2EI2Q30SGi9ug7A,20285
|
|
30
|
-
npe2/manifest/utils.py,sha256=fuHCy573ZyJH4GFi_KdOUnJA0xRDY0qiN1dldP_aTTE,12355
|
|
31
|
-
npe2/manifest/contributions/__init__.py,sha256=b5eNqUL5tskS6gVwh_zalBCsPxX6HO1R1tNvG9A3m68,1003
|
|
32
|
-
npe2/manifest/contributions/_commands.py,sha256=f7x1yDoHS2GBAjQaFGqIcsqNC1avqtr6o4w_RZcHexs,4329
|
|
33
|
-
npe2/manifest/contributions/_configuration.py,sha256=i8DPBUfpJZ4Y_Hug1E1FGCsLivd6SpZZmGZ_80WdFeg,6516
|
|
34
|
-
npe2/manifest/contributions/_contributions.py,sha256=gC9-zMnmLQrObu8YTL_4NF4szD11jsN5ms9nf7K8YD8,2476
|
|
35
|
-
npe2/manifest/contributions/_icon.py,sha256=NXeAPy1qoPLcFBHpQK_7j4pqxHGYbZ0gb3yCXr47CLM,161
|
|
36
|
-
npe2/manifest/contributions/_json_schema.py,sha256=rIERaRMzVJzx5YPkdnGUyQDrfK3PN-eLM-gOOumFyHA,10953
|
|
37
|
-
npe2/manifest/contributions/_keybindings.py,sha256=E_mrSzngXEGuyIfytPLOc0WL7Bb1Zebazdt1Nw6ZhD0,962
|
|
38
|
-
npe2/manifest/contributions/_menus.py,sha256=FAkXdpSGHdDqjA4yr2Oxb62x7POXJY7ETAcs23AJTFY,2233
|
|
39
|
-
npe2/manifest/contributions/_readers.py,sha256=XziSWpJrrbS_CJ6bvPhGH4vwKZq5in8kls07j1TAdXw,2513
|
|
40
|
-
npe2/manifest/contributions/_sample_data.py,sha256=KRZ2vEDhd0Qmv9HOa6e_Db9sTzLrPc2VsTsFeWQbmvw,2400
|
|
41
|
-
npe2/manifest/contributions/_submenu.py,sha256=jRUFdKB1iIgUfADeaHJV9rZ3_u3SfYjwfGgXelhEfXs,960
|
|
42
|
-
npe2/manifest/contributions/_themes.py,sha256=FeHBeqayZOIN4ccyik1xPZ30cE-_3Xr7aozilyoamiY,2683
|
|
43
|
-
npe2/manifest/contributions/_widgets.py,sha256=ung4t6R4EB6Rz9Xmlb4Z46ilOHHmkoWkEMuHQC4kABw,2217
|
|
44
|
-
npe2/manifest/contributions/_writers.py,sha256=i1usy_tR_1XIf93c8HXu0APLJI3QrOJUc0-0nxLrLbI,7867
|
|
45
|
-
npe2-0.7.9rc0.dist-info/METADATA,sha256=PSwtqFzgHbvC4UIYP33c4JrMK4-K_0dFL17K9X6l-sc,5973
|
|
46
|
-
npe2-0.7.9rc0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
47
|
-
npe2-0.7.9rc0.dist-info/entry_points.txt,sha256=5zoegMudO8Hkn6589GlAXIW49Ar5HSWZjTRc0TkJu3s,250
|
|
48
|
-
npe2-0.7.9rc0.dist-info/licenses/LICENSE,sha256=uyX2Y2Q7D-WzOUc6EKZVDuadkWenBWSYTR--BsewGpg,1514
|
|
49
|
-
npe2-0.7.9rc0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|