napari-plugin-manager 0.1.1__py3-none-any.whl → 0.1.3__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.
- napari_plugin_manager/_tests/test_qt_plugin_dialog.py +1 -40
- napari_plugin_manager/_version.py +2 -2
- napari_plugin_manager/qt_plugin_dialog.py +1 -3
- {napari_plugin_manager-0.1.1.dist-info → napari_plugin_manager-0.1.3.dist-info}/METADATA +7 -7
- {napari_plugin_manager-0.1.1.dist-info → napari_plugin_manager-0.1.3.dist-info}/RECORD +8 -8
- {napari_plugin_manager-0.1.1.dist-info → napari_plugin_manager-0.1.3.dist-info}/WHEEL +1 -1
- {napari_plugin_manager-0.1.1.dist-info → napari_plugin_manager-0.1.3.dist-info}/LICENSE +0 -0
- {napari_plugin_manager-0.1.1.dist-info → napari_plugin_manager-0.1.3.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import importlib.metadata
|
|
2
2
|
import os
|
|
3
|
-
import platform
|
|
4
3
|
import sys
|
|
5
4
|
from typing import Generator, Optional, Tuple
|
|
6
5
|
from unittest.mock import patch
|
|
@@ -14,9 +13,7 @@ from napari.utils.translations import trans
|
|
|
14
13
|
from qtpy.QtCore import QMimeData, QPointF, Qt, QUrl
|
|
15
14
|
from qtpy.QtGui import QDropEvent
|
|
16
15
|
|
|
17
|
-
if
|
|
18
|
-
sys.version_info[:2] > (3, 10) and platform.system() == "Linux"
|
|
19
|
-
):
|
|
16
|
+
if qtpy.API_NAME == 'PySide2' and sys.version_info[:2] > (3, 10):
|
|
20
17
|
pytest.skip(
|
|
21
18
|
"Known PySide2 x Python incompatibility: "
|
|
22
19
|
"... object cannot be interpreted as an integer",
|
|
@@ -408,12 +405,6 @@ def test_add_items_outdated_and_update(plugin_dialog, qtbot):
|
|
|
408
405
|
assert widget.version.toolTip() == updated_version
|
|
409
406
|
|
|
410
407
|
|
|
411
|
-
@pytest.mark.skipif(
|
|
412
|
-
qtpy.API_NAME.lower().startswith('pyside')
|
|
413
|
-
and sys.version_info[:2] > (3, 10)
|
|
414
|
-
and platform.system() == "Darwin",
|
|
415
|
-
reason='pyside specific bug',
|
|
416
|
-
)
|
|
417
408
|
def test_refresh(qtbot, plugin_dialog):
|
|
418
409
|
with qtbot.waitSignal(plugin_dialog._add_items_timer.timeout, timeout=500):
|
|
419
410
|
plugin_dialog.refresh(clear_cache=False)
|
|
@@ -425,12 +416,6 @@ def test_refresh(qtbot, plugin_dialog):
|
|
|
425
416
|
plugin_dialog._refresh_and_clear_cache()
|
|
426
417
|
|
|
427
418
|
|
|
428
|
-
@pytest.mark.skipif(
|
|
429
|
-
qtpy.API_NAME.lower().startswith('pyside')
|
|
430
|
-
and sys.version_info[:2] > (3, 10)
|
|
431
|
-
and platform.system() == "Darwin",
|
|
432
|
-
reason='pyside specific bug',
|
|
433
|
-
)
|
|
434
419
|
def test_toggle_status(plugin_dialog):
|
|
435
420
|
plugin_dialog.toggle_status(True)
|
|
436
421
|
assert plugin_dialog.stdout_text.isVisible()
|
|
@@ -438,22 +423,10 @@ def test_toggle_status(plugin_dialog):
|
|
|
438
423
|
assert not plugin_dialog.stdout_text.isVisible()
|
|
439
424
|
|
|
440
425
|
|
|
441
|
-
@pytest.mark.skipif(
|
|
442
|
-
qtpy.API_NAME.lower().startswith('pyside')
|
|
443
|
-
and sys.version_info[:2] > (3, 10)
|
|
444
|
-
and platform.system() == "Darwin",
|
|
445
|
-
reason='pyside specific bug',
|
|
446
|
-
)
|
|
447
426
|
def test_exec(plugin_dialog):
|
|
448
427
|
plugin_dialog.exec_()
|
|
449
428
|
|
|
450
429
|
|
|
451
|
-
@pytest.mark.skipif(
|
|
452
|
-
qtpy.API_NAME.lower().startswith('pyside')
|
|
453
|
-
and sys.version_info[:2] > (3, 10)
|
|
454
|
-
and platform.system() == "Darwin",
|
|
455
|
-
reason='pyside specific bug',
|
|
456
|
-
)
|
|
457
430
|
def test_search_in_available(plugin_dialog):
|
|
458
431
|
idxs = plugin_dialog._search_in_available("test")
|
|
459
432
|
assert idxs == [0, 1, 2, 3]
|
|
@@ -476,9 +449,6 @@ def test_drop_event(plugin_dialog, tmp_path):
|
|
|
476
449
|
assert plugin_dialog.direct_entry_edit.text() == str(path_1)
|
|
477
450
|
|
|
478
451
|
|
|
479
|
-
@pytest.mark.skipif(
|
|
480
|
-
qtpy.API_NAME.lower().startswith('pyside'), reason='pyside specific bug'
|
|
481
|
-
)
|
|
482
452
|
def test_installs(qtbot, tmp_virtualenv, plugin_dialog, request):
|
|
483
453
|
if "[constructor]" in request.node.name:
|
|
484
454
|
pytest.skip(
|
|
@@ -499,9 +469,6 @@ def test_installs(qtbot, tmp_virtualenv, plugin_dialog, request):
|
|
|
499
469
|
qtbot.wait(5000)
|
|
500
470
|
|
|
501
471
|
|
|
502
|
-
@pytest.mark.skipif(
|
|
503
|
-
qtpy.API_NAME.lower().startswith('pyside'), reason='pyside specific bug'
|
|
504
|
-
)
|
|
505
472
|
def test_cancel(qtbot, tmp_virtualenv, plugin_dialog, request):
|
|
506
473
|
if "[constructor]" in request.node.name:
|
|
507
474
|
pytest.skip(
|
|
@@ -524,9 +491,6 @@ def test_cancel(qtbot, tmp_virtualenv, plugin_dialog, request):
|
|
|
524
491
|
assert plugin_dialog.installed_list.count() == 2
|
|
525
492
|
|
|
526
493
|
|
|
527
|
-
@pytest.mark.skipif(
|
|
528
|
-
qtpy.API_NAME.lower().startswith('pyside'), reason='pyside specific bug'
|
|
529
|
-
)
|
|
530
494
|
def test_cancel_all(qtbot, tmp_virtualenv, plugin_dialog, request):
|
|
531
495
|
if "[constructor]" in request.node.name:
|
|
532
496
|
pytest.skip(
|
|
@@ -547,9 +511,6 @@ def test_cancel_all(qtbot, tmp_virtualenv, plugin_dialog, request):
|
|
|
547
511
|
assert plugin_dialog.installed_list.count() == 2
|
|
548
512
|
|
|
549
513
|
|
|
550
|
-
@pytest.mark.skipif(
|
|
551
|
-
qtpy.API_NAME.lower().startswith('pyside'), reason='pyside specific bug'
|
|
552
|
-
)
|
|
553
514
|
def test_direct_entry_installs(qtbot, tmp_virtualenv, plugin_dialog, request):
|
|
554
515
|
if "[constructor]" in request.node.name:
|
|
555
516
|
pytest.skip(
|
|
@@ -104,9 +104,7 @@ class PluginListItem(QFrame):
|
|
|
104
104
|
author, source, version, and buttons to update, install/uninstall, etc."""
|
|
105
105
|
|
|
106
106
|
# item, package_name, action_name, version, installer_choice
|
|
107
|
-
actionRequested = Signal(
|
|
108
|
-
QListWidgetItem, str, InstallerActions, str, InstallerTools
|
|
109
|
-
)
|
|
107
|
+
actionRequested = Signal(QListWidgetItem, str, object, str, object)
|
|
110
108
|
|
|
111
109
|
def __init__(
|
|
112
110
|
self,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: napari-plugin-manager
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.3
|
|
4
4
|
Summary: Install plugins for napari, in napari.
|
|
5
5
|
Author-email: napari team <napari-steering-council@googlegroups.com>
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -112,7 +112,7 @@ This package currently provides:
|
|
|
112
112
|
the [npe2api service](https://api.napari.org).
|
|
113
113
|
- The ability to install other packages via URL of by dragging and dropping artifacts from [PyPI].
|
|
114
114
|
|
|
115
|
-

|
|
116
116
|
|
|
117
117
|
`napari-plugin-manager` knows how to detect if napari was installed using `conda` or `pip` and
|
|
118
118
|
provide the appropriate default installer tool on the `Installation Info` dropdown for each plugin.
|
|
@@ -161,7 +161,7 @@ In the image below filtering by the word `arcos` yields a single plugin, the
|
|
|
161
161
|
`arcos-gui` plugin. Notice that plugins that provide a display name, will show
|
|
162
162
|
the package name to the right in parenthesis.
|
|
163
163
|
|
|
164
|
-

|
|
165
165
|
|
|
166
166
|
### Refreshing
|
|
167
167
|
|
|
@@ -184,7 +184,7 @@ You can cancel the process at any time by clicking the `Cancel` button of each p
|
|
|
184
184
|
[conda-forge channel](https://anaconda.org/conda-forge/). Some plugins will require
|
|
185
185
|
a restart to be properly configured.
|
|
186
186
|
|
|
187
|
-

|
|
188
188
|
|
|
189
189
|
### Uninstalling a plugin
|
|
190
190
|
|
|
@@ -198,7 +198,7 @@ You can cancel the process at any time by clicking the `Cancel` button of each p
|
|
|
198
198
|
|
|
199
199
|
**Note**: Some plugins will require a restart to be properly removed.
|
|
200
200
|
|
|
201
|
-

|
|
202
202
|
|
|
203
203
|
### Updating a plugin
|
|
204
204
|
|
|
@@ -213,7 +213,7 @@ filtering by name or description.
|
|
|
213
213
|
|
|
214
214
|
You can cancel the process at any time by clicking the `Cancel` button of each plugin.
|
|
215
215
|
|
|
216
|
-

|
|
217
217
|
|
|
218
218
|
### Batch actions
|
|
219
219
|
|
|
@@ -236,7 +236,7 @@ Some issues that you might experience when using the installer include:
|
|
|
236
236
|
* Incompatible packages due to conflicting dependencies.
|
|
237
237
|
* Network connectivity errors.
|
|
238
238
|
|
|
239
|
-

|
|
240
240
|
|
|
241
241
|
## License
|
|
242
242
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
napari_plugin_manager/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
-
napari_plugin_manager/_version.py,sha256=
|
|
2
|
+
napari_plugin_manager/_version.py,sha256=L5DCMp1QAlSqy-8bW7d51bLubTxNjZGYc5fMQkb752U,411
|
|
3
3
|
napari_plugin_manager/npe2api.py,sha256=lpanAxjpvEfGkHwTwVXmTSXWlMrjBxHOJ-p_-LbTW2o,4093
|
|
4
4
|
napari_plugin_manager/qt_package_installer.py,sha256=WPZZY3BQxH1OHm2-TBLf0-brzqV7Wh_Gnwk9hwFPmtQ,21454
|
|
5
|
-
napari_plugin_manager/qt_plugin_dialog.py,sha256=
|
|
5
|
+
napari_plugin_manager/qt_plugin_dialog.py,sha256=w0XV8hap-FsjZ75ZX6gfqREIf0T803sV1pAkAy5IqK8,57011
|
|
6
6
|
napari_plugin_manager/qt_widgets.py,sha256=O8t5CbN8r_16cQzshyjvhTEYdUcj7OX0-bfYIiN2uSs,356
|
|
7
7
|
napari_plugin_manager/styles.qss,sha256=9ODPba2IorJybWObWoEO9VGq4AO0IYlAa8brN14tgZU,7379
|
|
8
8
|
napari_plugin_manager/utils.py,sha256=wG_lGPaMmbfyH-q7oTWDYSI2iAKiZ3cqxyjlRlbvFJo,753
|
|
@@ -10,10 +10,10 @@ napari_plugin_manager/_tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NM
|
|
|
10
10
|
napari_plugin_manager/_tests/conftest.py,sha256=OvzenfBP2oIS6x8ksr9FhPXdsLV3Q_3Kzr6PRJe45Uc,1885
|
|
11
11
|
napari_plugin_manager/_tests/test_installer_process.py,sha256=fgO8OwYcCAz-OlGT_1G_eb4B69DPbnQdzjCrwTIeCpE,10523
|
|
12
12
|
napari_plugin_manager/_tests/test_npe2api.py,sha256=_YPo4jaA9cZ9OeeXn8HMJzijQ7OoWXnSiEN81NEzvhI,1031
|
|
13
|
-
napari_plugin_manager/_tests/test_qt_plugin_dialog.py,sha256=
|
|
13
|
+
napari_plugin_manager/_tests/test_qt_plugin_dialog.py,sha256=vNSDc7ouNPjhtrfEuhGoHQwlxEDwissuqLxu8SR1rv0,17722
|
|
14
14
|
napari_plugin_manager/_tests/test_utils.py,sha256=7EilxmDkRjU6UO2AnaqyYovdAs18D0ZA5GCVGN62-3M,720
|
|
15
|
-
napari_plugin_manager-0.1.
|
|
16
|
-
napari_plugin_manager-0.1.
|
|
17
|
-
napari_plugin_manager-0.1.
|
|
18
|
-
napari_plugin_manager-0.1.
|
|
19
|
-
napari_plugin_manager-0.1.
|
|
15
|
+
napari_plugin_manager-0.1.3.dist-info/LICENSE,sha256=8dAlKbOqTMYe9L-gL_kEx5Xr1Sd0AbaWQDUkpiOp3vI,1506
|
|
16
|
+
napari_plugin_manager-0.1.3.dist-info/METADATA,sha256=uRgMXcB0CJIWR6-CdvHkqX7Yt9syC_Xp9p2tNXsbAv0,11967
|
|
17
|
+
napari_plugin_manager-0.1.3.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
18
|
+
napari_plugin_manager-0.1.3.dist-info/top_level.txt,sha256=pmCqLetuumhY1CKSuTZ5eQsitzazrSvc7V_mkugEPTY,22
|
|
19
|
+
napari_plugin_manager-0.1.3.dist-info/RECORD,,
|
|
File without changes
|
{napari_plugin_manager-0.1.1.dist-info → napari_plugin_manager-0.1.3.dist-info}/top_level.txt
RENAMED
|
File without changes
|