napari-plugin-manager 0.1.5rc1__tar.gz → 0.1.7__tar.gz
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-0.1.5rc1 → napari_plugin_manager-0.1.7}/.github/dependabot.yml +2 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/.github/workflows/deploy_docs.yml +6 -6
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/.github/workflows/test_and_deploy.yml +18 -23
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/.gitignore +3 -0
- napari_plugin_manager-0.1.7/.pre-commit-config.yaml +23 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/Makefile +1 -1
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/PKG-INFO +9 -35
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/README.md +2 -2
- napari_plugin_manager-0.1.7/codecov.yml +24 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/docs/conf.py +53 -53
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/pyproject.toml +48 -24
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/_tests/conftest.py +10 -10
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/_tests/test_installer_process.py +123 -82
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/_tests/test_npe2api.py +12 -10
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/_tests/test_qt_plugin_dialog.py +91 -93
- napari_plugin_manager-0.1.7/src/napari_plugin_manager/_tests/test_utils.py +58 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/_version.py +16 -3
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/base_qt_package_installer.py +141 -65
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/base_qt_plugin_dialog.py +180 -160
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/npe2api.py +11 -6
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/qt_package_installer.py +44 -16
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/qt_plugin_dialog.py +40 -30
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/qt_warning_dialog.py +5 -3
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/qt_widgets.py +3 -3
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/styles.qss +30 -13
- napari_plugin_manager-0.1.7/src/napari_plugin_manager/utils.py +76 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager.egg-info/PKG-INFO +9 -35
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager.egg-info/SOURCES.txt +1 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager.egg-info/requires.txt +6 -1
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/tox.ini +4 -4
- napari_plugin_manager-0.1.5rc1/.pre-commit-config.yaml +0 -30
- napari_plugin_manager-0.1.5rc1/src/napari_plugin_manager/_tests/test_utils.py +0 -27
- napari_plugin_manager-0.1.5rc1/src/napari_plugin_manager/utils.py +0 -21
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/LICENSE +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/RELEASE.md +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/docs/__init__.py +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/docs/_static/custom.css +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/docs/_static/favicon/logo-noborder-180.png +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/docs/_static/favicon/logo-silhouette-192.png +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/docs/_static/favicon/logo-silhouette-dark-light.svg +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/docs/_templates/navbar-project.html +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/docs/_toc.yml +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/docs/developers/contributing.md +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/docs/index.md +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/images/description.png +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/images/direct-entry.png +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/images/filter.png +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/images/import-export.png +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/images/install.png +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/images/logo.png +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/images/status.png +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/images/uninstall.png +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/images/update.png +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/setup.cfg +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/__init__.py +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/_tests/__init__.py +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager/_tests/test_base_installer_process.py +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager.egg-info/dependency_links.txt +0 -0
- {napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/src/napari_plugin_manager.egg-info/top_level.txt +0 -0
{napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/.github/workflows/deploy_docs.yml
RENAMED
|
@@ -26,13 +26,13 @@ jobs:
|
|
|
26
26
|
|
|
27
27
|
steps:
|
|
28
28
|
- name: Clone repo
|
|
29
|
-
uses: actions/checkout@v4
|
|
29
|
+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
30
30
|
|
|
31
|
-
- uses: actions/setup-python@v5
|
|
31
|
+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
|
32
32
|
with:
|
|
33
33
|
python-version: "3.10"
|
|
34
34
|
|
|
35
|
-
- uses: tlambert03/setup-qt-libs@v1
|
|
35
|
+
- uses: tlambert03/setup-qt-libs@19e4ef2d781d81f5f067182e228b54ec90d23b76 # v1.8
|
|
36
36
|
|
|
37
37
|
- name: Install Dependencies
|
|
38
38
|
run: |
|
|
@@ -41,7 +41,7 @@ jobs:
|
|
|
41
41
|
python -m pip install -e ".[docs]"
|
|
42
42
|
|
|
43
43
|
- name: Build Docs
|
|
44
|
-
uses: aganders3/headless-gui@v2
|
|
44
|
+
uses: aganders3/headless-gui@f85dd6316993505dfc5f21839d520ae440c84816 # v2.2
|
|
45
45
|
with:
|
|
46
46
|
run: make docs
|
|
47
47
|
|
|
@@ -50,11 +50,11 @@ jobs:
|
|
|
50
50
|
|
|
51
51
|
# At a minimum this job should upload artifacts using actions/upload-pages-artifact
|
|
52
52
|
- name: Upload GitHub Pages artifact
|
|
53
|
-
uses: actions/upload-pages-artifact@v3
|
|
53
|
+
uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa # v3.0.1
|
|
54
54
|
with:
|
|
55
55
|
name: github-pages
|
|
56
56
|
path: docs/_build
|
|
57
57
|
|
|
58
58
|
- name: Deploy to GitHub Pages
|
|
59
59
|
id: deployment
|
|
60
|
-
uses: actions/deploy-pages@
|
|
60
|
+
uses: actions/deploy-pages@d6db90164ac5ed86f2b6aed7e0febac5b3c0c03e # v4.0.5
|
{napari_plugin_manager-0.1.5rc1 → napari_plugin_manager-0.1.7}/.github/workflows/test_and_deploy.yml
RENAMED
|
@@ -53,24 +53,24 @@ jobs:
|
|
|
53
53
|
napari: repo
|
|
54
54
|
|
|
55
55
|
steps:
|
|
56
|
-
- uses: actions/checkout@v4
|
|
56
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
57
57
|
|
|
58
58
|
- name: Set up Python ${{ matrix.python-version }} - pip
|
|
59
59
|
if: matrix.tool == 'pip'
|
|
60
|
-
uses: actions/setup-python@v5
|
|
60
|
+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
|
61
61
|
with:
|
|
62
62
|
python-version: ${{ matrix.python-version }}
|
|
63
63
|
|
|
64
64
|
- name: Set up Python ${{ matrix.python-version }} - conda
|
|
65
65
|
if: matrix.tool == 'conda'
|
|
66
|
-
uses: conda-incubator/setup-miniconda@v3
|
|
66
|
+
uses: conda-incubator/setup-miniconda@835234971496cad1653abb28a638a281cf32541f # v3.2.0
|
|
67
67
|
with:
|
|
68
68
|
miniforge-version: latest
|
|
69
69
|
channels: conda-forge
|
|
70
70
|
conda-remove-defaults: "true"
|
|
71
71
|
python-version: ${{ matrix.python-version }}
|
|
72
72
|
|
|
73
|
-
- uses: tlambert03/setup-qt-libs@v1
|
|
73
|
+
- uses: tlambert03/setup-qt-libs@19e4ef2d781d81f5f067182e228b54ec90d23b76 # v1.8
|
|
74
74
|
|
|
75
75
|
# strategy borrowed from vispy for installing opengl libs on windows
|
|
76
76
|
- name: Install Windows OpenGL
|
|
@@ -95,7 +95,7 @@ jobs:
|
|
|
95
95
|
|
|
96
96
|
- name: Test with tox - pip
|
|
97
97
|
if: matrix.tool == 'pip'
|
|
98
|
-
uses: aganders3/headless-gui@v2
|
|
98
|
+
uses: aganders3/headless-gui@f85dd6316993505dfc5f21839d520ae440c84816 # v2.2
|
|
99
99
|
with:
|
|
100
100
|
run: python -m tox
|
|
101
101
|
env:
|
|
@@ -103,12 +103,9 @@ jobs:
|
|
|
103
103
|
NAPARI: ${{ matrix.napari }}
|
|
104
104
|
TOOL: ${{ matrix.tool }}
|
|
105
105
|
FORCE_COLOR: 1
|
|
106
|
-
# Only supported pyside6 is not supported on py312, py313
|
|
107
|
-
TOX_SKIP_ENV: ".*py31[23].*PySide6"
|
|
108
|
-
|
|
109
106
|
- name: Test with tox - conda
|
|
110
107
|
if: matrix.tool == 'conda'
|
|
111
|
-
uses: aganders3/headless-gui@v2
|
|
108
|
+
uses: aganders3/headless-gui@f85dd6316993505dfc5f21839d520ae440c84816 # v2.2
|
|
112
109
|
with:
|
|
113
110
|
shell: bash -el {0}
|
|
114
111
|
run: python -m tox
|
|
@@ -119,11 +116,11 @@ jobs:
|
|
|
119
116
|
FORCE_COLOR: 1
|
|
120
117
|
# Only supported pyside2 and pyside6 are not supported on py312, py313
|
|
121
118
|
# no Qt backends supported by conda-forge on py313
|
|
122
|
-
TOX_SKIP_ENV: ".*py31[23].*
|
|
119
|
+
TOX_SKIP_ENV: ".*py31[23].*PySide2|.*py313.*conda"
|
|
120
|
+
|
|
123
121
|
|
|
124
|
-
|
|
125
122
|
- name: Upload coverage data
|
|
126
|
-
uses: actions/upload-artifact@v4
|
|
123
|
+
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
|
127
124
|
with:
|
|
128
125
|
name: coverage reports ${{ matrix.platform }} py ${{ matrix.python-version }} ${{ matrix.tool }} ${{ matrix.napari }}
|
|
129
126
|
include-hidden-files: true
|
|
@@ -140,9 +137,9 @@ jobs:
|
|
|
140
137
|
if: always()
|
|
141
138
|
runs-on: ubuntu-latest
|
|
142
139
|
steps:
|
|
143
|
-
- uses: actions/checkout@v4
|
|
140
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
144
141
|
|
|
145
|
-
- uses: actions/setup-python@v5
|
|
142
|
+
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
|
146
143
|
with:
|
|
147
144
|
python-version: "3.x"
|
|
148
145
|
cache-dependency-path: pyproject.toml
|
|
@@ -154,7 +151,7 @@ jobs:
|
|
|
154
151
|
pip install codecov
|
|
155
152
|
|
|
156
153
|
- name: Download coverage data
|
|
157
|
-
uses: actions/download-artifact@v4
|
|
154
|
+
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
|
|
158
155
|
with:
|
|
159
156
|
pattern: coverage reports*
|
|
160
157
|
path: coverage
|
|
@@ -170,25 +167,23 @@ jobs:
|
|
|
170
167
|
python -Im coverage report --format=markdown --skip-empty --skip-covered >> "$GITHUB_STEP_SUMMARY"
|
|
171
168
|
|
|
172
169
|
- name: Upload coverage data
|
|
173
|
-
uses: codecov/codecov-action@v5
|
|
170
|
+
uses: codecov/codecov-action@18283e04ce6e62d37312384ff67231eb8fd56d24 # v5.4.3
|
|
174
171
|
with:
|
|
175
172
|
fail_ci_if_error: true
|
|
176
|
-
use_oidc:
|
|
173
|
+
use_oidc: ${{ github.event_name == 'push' || (github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository) }}
|
|
177
174
|
|
|
178
175
|
|
|
179
176
|
deploy:
|
|
180
177
|
# this will run when you have tagged a commit, starting with "v*"
|
|
181
|
-
#
|
|
182
|
-
# github secrets (see readme for details)
|
|
183
|
-
needs: [test]
|
|
178
|
+
# needs: [test]
|
|
184
179
|
runs-on: ubuntu-latest
|
|
185
180
|
if: contains(github.ref, 'tags')
|
|
186
181
|
permissions:
|
|
187
182
|
id-token: write
|
|
188
183
|
steps:
|
|
189
|
-
- uses: actions/checkout@v4
|
|
184
|
+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
190
185
|
- name: Set up Python
|
|
191
|
-
uses: actions/setup-python@v5
|
|
186
|
+
uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
|
|
192
187
|
with:
|
|
193
188
|
python-version: "3.x"
|
|
194
189
|
- name: Install dependencies
|
|
@@ -200,4 +195,4 @@ jobs:
|
|
|
200
195
|
git tag
|
|
201
196
|
python -m build
|
|
202
197
|
- name: Publish package distributions to PyPI
|
|
203
|
-
uses: pypa/gh-action-pypi-publish@
|
|
198
|
+
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
repos:
|
|
2
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
3
|
+
rev: v5.0.0
|
|
4
|
+
hooks:
|
|
5
|
+
- id: check-docstring-first
|
|
6
|
+
exclude: ^constructor-manager-ui/src/constructor_manager_ui/style/images.py
|
|
7
|
+
- id: end-of-file-fixer
|
|
8
|
+
exclude: ^constructor-manager-ui/src/constructor_manager_ui/style/images.py
|
|
9
|
+
- id: trailing-whitespace
|
|
10
|
+
exclude: ^constructor-manager-ui/src/constructor_manager_ui/style/images.py
|
|
11
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
12
|
+
rev: v0.12.7
|
|
13
|
+
hooks:
|
|
14
|
+
- id: ruff-check
|
|
15
|
+
args: [--fix]
|
|
16
|
+
- id: ruff-format
|
|
17
|
+
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
18
|
+
rev: 0.33.2
|
|
19
|
+
hooks:
|
|
20
|
+
- id: check-github-workflows
|
|
21
|
+
|
|
22
|
+
ci:
|
|
23
|
+
autoupdate_schedule: monthly
|
|
@@ -1,45 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: napari-plugin-manager
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.7
|
|
4
4
|
Summary: Install plugins for napari, in napari.
|
|
5
5
|
Author-email: napari team <napari-steering-council@googlegroups.com>
|
|
6
|
-
License: BSD
|
|
7
|
-
|
|
8
|
-
Copyright (c) 2018, Napari
|
|
9
|
-
All rights reserved.
|
|
10
|
-
|
|
11
|
-
Redistribution and use in source and binary forms, with or without
|
|
12
|
-
modification, are permitted provided that the following conditions are met:
|
|
13
|
-
|
|
14
|
-
* Redistributions of source code must retain the above copyright notice, this
|
|
15
|
-
list of conditions and the following disclaimer.
|
|
16
|
-
|
|
17
|
-
* Redistributions in binary form must reproduce the above copyright notice,
|
|
18
|
-
this list of conditions and the following disclaimer in the documentation
|
|
19
|
-
and/or other materials provided with the distribution.
|
|
20
|
-
|
|
21
|
-
* Neither the name of the copyright holder nor the names of its
|
|
22
|
-
contributors may be used to endorse or promote products derived from
|
|
23
|
-
this software without specific prior written permission.
|
|
24
|
-
|
|
25
|
-
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
26
|
-
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
27
|
-
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
28
|
-
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
29
|
-
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
30
|
-
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
31
|
-
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
32
|
-
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
33
|
-
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
34
|
-
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
35
|
-
|
|
6
|
+
License-Expression: BSD-3-Clause
|
|
36
7
|
Project-URL: homepage, https://github.com/napari/napari-plugin-manager
|
|
37
8
|
Classifier: Development Status :: 3 - Alpha
|
|
38
9
|
Classifier: Environment :: X11 Applications :: Qt
|
|
39
10
|
Classifier: Framework :: napari
|
|
40
11
|
Classifier: Intended Audience :: Education
|
|
41
12
|
Classifier: Intended Audience :: Science/Research
|
|
42
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
43
13
|
Classifier: Programming Language :: C
|
|
44
14
|
Classifier: Programming Language :: Python
|
|
45
15
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
@@ -59,6 +29,7 @@ Classifier: Operating System :: MacOS
|
|
|
59
29
|
Requires-Python: >=3.10
|
|
60
30
|
Description-Content-Type: text/markdown
|
|
61
31
|
License-File: LICENSE
|
|
32
|
+
Requires-Dist: napari
|
|
62
33
|
Requires-Dist: npe2
|
|
63
34
|
Requires-Dist: qtpy
|
|
64
35
|
Requires-Dist: superqt
|
|
@@ -67,11 +38,14 @@ Requires-Dist: packaging
|
|
|
67
38
|
Provides-Extra: dev
|
|
68
39
|
Requires-Dist: PyQt6; extra == "dev"
|
|
69
40
|
Requires-Dist: pre-commit; extra == "dev"
|
|
41
|
+
Provides-Extra: uv
|
|
42
|
+
Requires-Dist: uv; extra == "uv"
|
|
70
43
|
Provides-Extra: testing
|
|
44
|
+
Requires-Dist: napari-plugin-manager[uv]; extra == "testing"
|
|
71
45
|
Requires-Dist: coverage; extra == "testing"
|
|
72
46
|
Requires-Dist: flaky; extra == "testing"
|
|
73
47
|
Requires-Dist: pytest; extra == "testing"
|
|
74
|
-
Requires-Dist: pytest-qt; extra == "testing"
|
|
48
|
+
Requires-Dist: pytest-qt<4.5; extra == "testing"
|
|
75
49
|
Requires-Dist: virtualenv; extra == "testing"
|
|
76
50
|
Provides-Extra: docs
|
|
77
51
|
Requires-Dist: sphinx>6; extra == "docs"
|
|
@@ -102,7 +76,7 @@ The `napari-plugin-manager` used to be part of the [napari] codebase before the
|
|
|
102
76
|
series. It's now maintained as a separate project and package to allow uncoupled iterations outside
|
|
103
77
|
of the `napari` release cycle.
|
|
104
78
|
|
|
105
|
-
Future work will allow other applications with a plugin ecosytem to customize and
|
|
79
|
+
Future work will allow other applications with a plugin ecosytem to customize and
|
|
106
80
|
use the `plugin-manager`. This package remains under active development and contributions
|
|
107
81
|
are very welcome. Please [open an issue] to discuss potential improvements.
|
|
108
82
|
|
|
@@ -191,7 +165,7 @@ a restart to be properly configured.
|
|
|
191
165
|
|
|
192
166
|
### Installing a plugin via direct entry
|
|
193
167
|
|
|
194
|
-
You can also install a napari plugin or any other package via the direct entry option. The following steps
|
|
168
|
+
You can also install a napari plugin or any other package via the direct entry option. The following steps
|
|
195
169
|
correspond to the options and buttons located at the **bottom of the dialog**.
|
|
196
170
|
|
|
197
171
|
1. You can type either the name of the package, a url to the resource or drag and drop a compressed file
|
|
@@ -17,7 +17,7 @@ The `napari-plugin-manager` used to be part of the [napari] codebase before the
|
|
|
17
17
|
series. It's now maintained as a separate project and package to allow uncoupled iterations outside
|
|
18
18
|
of the `napari` release cycle.
|
|
19
19
|
|
|
20
|
-
Future work will allow other applications with a plugin ecosytem to customize and
|
|
20
|
+
Future work will allow other applications with a plugin ecosytem to customize and
|
|
21
21
|
use the `plugin-manager`. This package remains under active development and contributions
|
|
22
22
|
are very welcome. Please [open an issue] to discuss potential improvements.
|
|
23
23
|
|
|
@@ -106,7 +106,7 @@ a restart to be properly configured.
|
|
|
106
106
|
|
|
107
107
|
### Installing a plugin via direct entry
|
|
108
108
|
|
|
109
|
-
You can also install a napari plugin or any other package via the direct entry option. The following steps
|
|
109
|
+
You can also install a napari plugin or any other package via the direct entry option. The following steps
|
|
110
110
|
correspond to the options and buttons located at the **bottom of the dialog**.
|
|
111
111
|
|
|
112
112
|
1. You can type either the name of the package, a url to the resource or drag and drop a compressed file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
ignore:
|
|
2
|
+
- napari_plugin_manager/_version.py
|
|
3
|
+
coverage:
|
|
4
|
+
status:
|
|
5
|
+
project:
|
|
6
|
+
default: false
|
|
7
|
+
library:
|
|
8
|
+
target: auto
|
|
9
|
+
paths: ['!.*/_tests/.*']
|
|
10
|
+
threshold: 1%
|
|
11
|
+
tests:
|
|
12
|
+
target: auto
|
|
13
|
+
paths: ['.*/_tests/.*']
|
|
14
|
+
threshold: 1% # coverage can drop by up to 1% while still posting success
|
|
15
|
+
patch:
|
|
16
|
+
default:
|
|
17
|
+
threshold: 1%
|
|
18
|
+
target: 0%
|
|
19
|
+
codecov:
|
|
20
|
+
notify:
|
|
21
|
+
after_n_builds: 1
|
|
22
|
+
comment:
|
|
23
|
+
require_changes: true # if true: only post the PR comment if coverage changes
|
|
24
|
+
after_n_builds: 1
|
|
@@ -19,16 +19,16 @@ from napari_plugin_manager._version import (
|
|
|
19
19
|
)
|
|
20
20
|
|
|
21
21
|
release = napari_plugin_manager_version
|
|
22
|
-
if
|
|
23
|
-
version =
|
|
22
|
+
if 'dev' in release: # noqa: SIM108
|
|
23
|
+
version = 'dev'
|
|
24
24
|
else:
|
|
25
25
|
version = release
|
|
26
26
|
|
|
27
27
|
# -- Project information -----------------------------------------------------
|
|
28
28
|
|
|
29
|
-
project =
|
|
30
|
-
copyright =
|
|
31
|
-
author =
|
|
29
|
+
project = 'napari-plugin-manager'
|
|
30
|
+
copyright = '2024, The napari team' # noqa: A001
|
|
31
|
+
author = 'The napari team'
|
|
32
32
|
|
|
33
33
|
# -- General configuration ---------------------------------------------------
|
|
34
34
|
|
|
@@ -37,22 +37,22 @@ author = "The napari team"
|
|
|
37
37
|
# ones.
|
|
38
38
|
|
|
39
39
|
extensions = [
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
40
|
+
'sphinx.ext.intersphinx',
|
|
41
|
+
'sphinx_external_toc',
|
|
42
|
+
'myst_nb',
|
|
43
|
+
'sphinx.ext.viewcode',
|
|
44
|
+
'sphinx_favicon',
|
|
45
|
+
'sphinx_copybutton',
|
|
46
46
|
]
|
|
47
47
|
|
|
48
|
-
external_toc_path =
|
|
48
|
+
external_toc_path = '_toc.yml'
|
|
49
49
|
|
|
50
50
|
# -- Options for HTML output -------------------------------------------------
|
|
51
51
|
|
|
52
52
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
|
53
53
|
# a list of builtin themes.
|
|
54
54
|
#
|
|
55
|
-
html_theme =
|
|
55
|
+
html_theme = 'napari_sphinx_theme'
|
|
56
56
|
|
|
57
57
|
# # Define the json_url for our version switcher.
|
|
58
58
|
# json_url = "https://napari.org/dev/_static/version_switcher.json"
|
|
@@ -63,88 +63,88 @@ html_theme = "napari_sphinx_theme"
|
|
|
63
63
|
# version_match = release
|
|
64
64
|
|
|
65
65
|
html_theme_options = {
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
66
|
+
'external_links': [{'name': 'napari', 'url': 'https://napari.org'}],
|
|
67
|
+
'github_url': 'https://github.com/napari/napari-plugin-manager',
|
|
68
|
+
'navbar_start': ['navbar-logo', 'navbar-project'],
|
|
69
|
+
'navbar_end': ['navbar-icon-links'],
|
|
70
70
|
# "switcher": {
|
|
71
71
|
# "json_url": json_url,
|
|
72
72
|
# "version_match": version_match,
|
|
73
73
|
# },
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
'navbar_persistent': [],
|
|
75
|
+
'header_links_before_dropdown': 6,
|
|
76
|
+
'secondary_sidebar_items': ['page-toc'],
|
|
77
|
+
'pygments_light_style': 'napari',
|
|
78
|
+
'pygments_dark_style': 'napari',
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
# Add any paths that contain custom static files (such as style sheets) here,
|
|
82
82
|
# relative to this directory. They are copied after the builtin static files,
|
|
83
83
|
# so a file named "default.css" will overwrite the builtin "default.css".
|
|
84
|
-
html_static_path = [
|
|
85
|
-
html_logo =
|
|
86
|
-
html_sourcelink_suffix =
|
|
87
|
-
html_title =
|
|
84
|
+
html_static_path = ['_static']
|
|
85
|
+
html_logo = 'images/logo.png'
|
|
86
|
+
html_sourcelink_suffix = ''
|
|
87
|
+
html_title = 'napari plugin manager'
|
|
88
88
|
|
|
89
89
|
favicons = [
|
|
90
90
|
{
|
|
91
91
|
# the SVG is the "best" and contains code to detect OS light/dark mode
|
|
92
|
-
|
|
93
|
-
|
|
92
|
+
'static-file': 'favicon/logo-silhouette-dark-light.svg',
|
|
93
|
+
'type': 'image/svg+xml',
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
96
|
# Safari in Oct. 2022 does not support SVG
|
|
97
97
|
# an ICO would work as well, but PNG should be just as good
|
|
98
98
|
# setting sizes="any" is needed for Chrome to prefer the SVG
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
'sizes': 'any',
|
|
100
|
+
'static-file': 'favicon/logo-silhouette-192.png',
|
|
101
101
|
},
|
|
102
102
|
{
|
|
103
103
|
# this is used on iPad/iPhone for "Save to Home Screen"
|
|
104
104
|
# apparently some other apps use it as well
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
105
|
+
'rel': 'apple-touch-icon',
|
|
106
|
+
'sizes': '180x180',
|
|
107
|
+
'static-file': 'favicon/logo-noborder-180.png',
|
|
108
108
|
},
|
|
109
109
|
]
|
|
110
110
|
|
|
111
111
|
html_css_files = [
|
|
112
|
-
|
|
112
|
+
'custom.css',
|
|
113
113
|
]
|
|
114
114
|
|
|
115
115
|
intersphinx_mapping = {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
116
|
+
'python': ['https://docs.python.org/3', None],
|
|
117
|
+
'numpy': ['https://numpy.org/doc/stable/', None],
|
|
118
|
+
'napari_plugin_engine': [
|
|
119
|
+
'https://napari-plugin-engine.readthedocs.io/en/latest/',
|
|
120
|
+
'https://napari-plugin-engine.readthedocs.io/en/latest/objects.inv',
|
|
121
121
|
],
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
'napari': [
|
|
123
|
+
'https://napari.org/dev',
|
|
124
|
+
'https://napari.org/dev/objects.inv',
|
|
125
125
|
],
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
myst_enable_extensions = [
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
'colon_fence',
|
|
130
|
+
'dollarmath',
|
|
131
|
+
'substitution',
|
|
132
|
+
'tasklist',
|
|
133
133
|
]
|
|
134
134
|
|
|
135
135
|
myst_heading_anchors = 4
|
|
136
|
-
suppress_warnings = [
|
|
136
|
+
suppress_warnings = ['etoc.toctree']
|
|
137
137
|
|
|
138
138
|
# Add any paths that contain templates here, relative to this directory.
|
|
139
|
-
templates_path = [
|
|
139
|
+
templates_path = ['_templates']
|
|
140
140
|
|
|
141
141
|
# List of patterns, relative to source directory, that match files and
|
|
142
142
|
# directories to ignore when looking for source files.
|
|
143
143
|
# This pattern also affects html_static_path and html_extra_path.
|
|
144
144
|
exclude_patterns = [
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
145
|
+
'_build',
|
|
146
|
+
'Thumbs.db',
|
|
147
|
+
'.DS_Store',
|
|
148
|
+
'.jupyter_cache',
|
|
149
|
+
'jupyter_execute',
|
|
150
150
|
]
|