npe2 0.4.1__tar.gz → 0.7.5__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.
- {npe2-0.4.1 → npe2-0.7.5}/.github/workflows/ci.yml +79 -20
- npe2-0.7.5/.github/workflows/test_all_plugins.yml +53 -0
- {npe2-0.4.1 → npe2-0.7.5}/.github/workflows/test_conversion.yml +8 -7
- {npe2-0.4.1 → npe2-0.7.5}/.github/workflows/update_changelog.yml +3 -3
- {npe2-0.4.1 → npe2-0.7.5}/.gitignore +3 -1
- npe2-0.7.5/.pre-commit-config.yaml +33 -0
- {npe2-0.4.1 → npe2-0.7.5}/CHANGELOG.md +210 -10
- npe2-0.7.5/Makefile +18 -0
- {npe2-0.4.1 → npe2-0.7.5}/PKG-INFO +37 -9
- {npe2-0.4.1 → npe2-0.7.5}/_docs/example_manifest.yaml +2 -0
- {npe2-0.4.1 → npe2-0.7.5}/_docs/render.py +4 -5
- {npe2-0.4.1 → npe2-0.7.5}/_docs/templates/_npe2_contributions.md.jinja +7 -5
- {npe2-0.4.1 → npe2-0.7.5}/_docs/templates/_npe2_manifest.md.jinja +5 -2
- {npe2-0.4.1 → npe2-0.7.5}/_docs/templates/_npe2_readers_guide.md.jinja +8 -6
- {npe2-0.4.1 → npe2-0.7.5}/_docs/templates/_npe2_sample_data_guide.md.jinja +8 -6
- {npe2-0.4.1 → npe2-0.7.5}/_docs/templates/_npe2_widgets_guide.md.jinja +19 -15
- {npe2-0.4.1 → npe2-0.7.5}/_docs/templates/_npe2_writers_guide.md.jinja +12 -9
- {npe2-0.4.1 → npe2-0.7.5}/docs/_config.yml +2 -2
- {npe2-0.4.1 → npe2-0.7.5}/docs/requirements.txt +1 -0
- npe2-0.7.5/pyproject.toml +169 -0
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/__init__.py +14 -8
- npe2-0.7.5/src/npe2/__main__.py +4 -0
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/_command_registry.py +7 -1
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/_dynamic_plugin.py +19 -10
- npe2-0.7.5/src/npe2/_inspection/__init__.py +13 -0
- npe2-0.7.5/src/npe2/_inspection/_compile.py +109 -0
- npe2-0.7.5/src/npe2/_inspection/_fetch.py +451 -0
- {npe2-0.4.1/npe2 → npe2-0.7.5/src/npe2/_inspection}/_from_npe1.py +48 -122
- npe2-0.7.5/src/npe2/_inspection/_setuputils.py +131 -0
- npe2-0.7.5/src/npe2/_inspection/_visitors.py +461 -0
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/_plugin_manager.py +208 -14
- npe2-0.7.5/src/npe2/_pydantic_compat.py +54 -0
- npe2-0.7.5/src/npe2/_pytest_plugin.py +104 -0
- npe2-0.7.5/src/npe2/_setuptools_plugin.py +204 -0
- npe2-0.7.5/src/npe2/cli.py +526 -0
- npe2-0.7.5/src/npe2/implements.py +112 -0
- npe2-0.7.5/src/npe2/implements.pyi +57 -0
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/io_utils.py +129 -18
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/_bases.py +12 -5
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/_npe1_adapter.py +22 -10
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/_package_metadata.py +31 -17
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/_validators.py +29 -11
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/contributions/__init__.py +3 -0
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/contributions/_commands.py +39 -40
- npe2-0.7.5/src/npe2/manifest/contributions/_configuration.py +148 -0
- npe2-0.7.5/src/npe2/manifest/contributions/_contributions.py +56 -0
- npe2-0.7.5/src/npe2/manifest/contributions/_icon.py +8 -0
- npe2-0.7.5/src/npe2/manifest/contributions/_json_schema.py +295 -0
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/contributions/_keybindings.py +7 -9
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/contributions/_menus.py +15 -5
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/contributions/_readers.py +5 -6
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/contributions/_sample_data.py +6 -8
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/contributions/_submenu.py +1 -2
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/contributions/_themes.py +9 -5
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/contributions/_widgets.py +11 -7
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/contributions/_writers.py +4 -4
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/schema.py +140 -45
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/utils.py +115 -49
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/plugin_manager.py +15 -5
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/types.py +14 -6
- {npe2-0.4.1 → npe2-0.7.5}/tests/conftest.py +71 -14
- npe2-0.7.5/tests/fixtures/my-compiled-plugin/my_module/__init__.py +0 -0
- npe2-0.7.5/tests/fixtures/my-compiled-plugin/my_module/_a.py +46 -0
- npe2-0.7.5/tests/fixtures/my-compiled-plugin/my_module/_b.py +32 -0
- npe2-0.7.5/tests/fixtures/my-compiled-plugin/setup.cfg +10 -0
- npe2-0.7.5/tests/npe1-plugin/npe1-plugin-0.0.1.dist-info/RECORD +5 -0
- npe2-0.7.5/tests/sample/_with_decorators.py +102 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/sample/my_plugin/napari.yaml +11 -7
- npe2-0.7.5/tests/test__io_utils.py +320 -0
- npe2-0.7.5/tests/test_all_plugins.py +25 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_cli.py +104 -5
- npe2-0.7.5/tests/test_compile.py +31 -0
- npe2-0.7.5/tests/test_config_contribution.py +111 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_contributions.py +9 -8
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_conversion.py +40 -9
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_docs.py +2 -0
- npe2-0.7.5/tests/test_fetch.py +105 -0
- npe2-0.7.5/tests/test_implements.py +78 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_manifest.py +66 -4
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_npe1_adapter.py +16 -5
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_package_meta.py +21 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_plugin_manager.py +56 -2
- npe2-0.7.5/tests/test_pytest_plugin.py +67 -0
- npe2-0.7.5/tests/test_setuptools_plugin.py +61 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_utils.py +56 -2
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_validations.py +16 -17
- npe2-0.4.1/.github/workflows/test_all_plugins.yml +0 -75
- npe2-0.4.1/.pre-commit-config.yaml +0 -45
- npe2-0.4.1/MANIFEST.in +0 -9
- npe2-0.4.1/Makefile +0 -11
- npe2-0.4.1/docs/plugins/_npe2_contributions.md +0 -430
- npe2-0.4.1/docs/plugins/_npe2_manifest.md +0 -221
- npe2-0.4.1/docs/plugins/_npe2_readers_guide.md +0 -101
- npe2-0.4.1/docs/plugins/_npe2_sample_data_guide.md +0 -80
- npe2-0.4.1/docs/plugins/_npe2_widgets_guide.md +0 -181
- npe2-0.4.1/docs/plugins/_npe2_writers_guide.md +0 -173
- npe2-0.4.1/npe2/_version.py +0 -5
- npe2-0.4.1/npe2/cli.py +0 -191
- npe2-0.4.1/npe2/manifest/contributions/_configuration.py +0 -262
- npe2-0.4.1/npe2/manifest/contributions/_contributions.py +0 -30
- npe2-0.4.1/npe2/manifest/contributions/_icon.py +0 -8
- npe2-0.4.1/npe2.egg-info/PKG-INFO +0 -65
- npe2-0.4.1/npe2.egg-info/SOURCES.txt +0 -102
- npe2-0.4.1/npe2.egg-info/dependency_links.txt +0 -1
- npe2-0.4.1/npe2.egg-info/entry_points.txt +0 -2
- npe2-0.4.1/npe2.egg-info/not-zip-safe +0 -1
- npe2-0.4.1/npe2.egg-info/requires.txt +0 -36
- npe2-0.4.1/npe2.egg-info/top_level.txt +0 -1
- npe2-0.4.1/pyproject.toml +0 -25
- npe2-0.4.1/setup.cfg +0 -125
- npe2-0.4.1/tests/test_all_plugins.py +0 -51
- npe2-0.4.1/tests/test_io_utils.py +0 -66
- {npe2-0.4.1 → npe2-0.7.5}/.github/ISSUE_TEMPLATE.md +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/.github/dependabot.yml +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/.github_changelog_generator +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/LICENSE +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/README.md +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/_docs/example_plugin/__init__.py +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/_docs/example_plugin/some_module.py +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/codecov.yml +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/docs/_toc.yml +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/docs/index.md +0 -0
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/__init__.py +0 -0
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/menus.py +0 -0
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/manifest/package_metadata.py +0 -0
- {npe2-0.4.1 → npe2-0.7.5/src}/npe2/py.typed +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/npe1-plugin/npe1-plugin-0.0.1.dist-info/METADATA +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/npe1-plugin/npe1-plugin-0.0.1.dist-info/entry_points.txt +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/npe1-plugin/npe1-plugin-0.0.1.dist-info/top_level.txt +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/npe1-plugin/npe1_module/__init__.py +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/npe1-plugin/setup.cfg +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/sample/my_plugin/__init__.py +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/sample/my_plugin-1.2.3.dist-info/METADATA +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/sample/my_plugin-1.2.3.dist-info/entry_points.txt +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/sample/my_plugin-1.2.3.dist-info/top_level.txt +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_pm_module.py +0 -0
- {npe2-0.4.1 → npe2-0.7.5}/tests/test_tmp_plugin.py +0 -0
|
@@ -9,19 +9,31 @@ on:
|
|
|
9
9
|
pull_request: {}
|
|
10
10
|
workflow_dispatch:
|
|
11
11
|
|
|
12
|
+
concurrency:
|
|
13
|
+
group: test-${{ github.ref }}
|
|
14
|
+
cancel-in-progress: true
|
|
15
|
+
|
|
12
16
|
jobs:
|
|
17
|
+
check-manifest:
|
|
18
|
+
name: Check Manifest
|
|
19
|
+
runs-on: ubuntu-latest
|
|
20
|
+
steps:
|
|
21
|
+
- uses: actions/checkout@v4
|
|
22
|
+
- name: Check
|
|
23
|
+
run: pipx run check-manifest
|
|
13
24
|
|
|
14
25
|
test:
|
|
15
|
-
name: ${{ matrix.platform }} (${{ matrix.python-version }})
|
|
26
|
+
name: ${{ matrix.platform }} (${{ matrix.python-version }}) ${{ matrix.pydantic }}
|
|
16
27
|
runs-on: ${{ matrix.platform }}
|
|
17
28
|
strategy:
|
|
18
29
|
fail-fast: false
|
|
19
30
|
matrix:
|
|
20
|
-
python-version: [3.8, 3.9, "3.10"]
|
|
31
|
+
python-version: [3.8, 3.9, "3.10", "3.11"]
|
|
21
32
|
platform: [ubuntu-latest, macos-latest, windows-latest]
|
|
33
|
+
pydantic: ["pydantic<2", "pydantic>2"]
|
|
22
34
|
|
|
23
35
|
steps:
|
|
24
|
-
- uses: actions/checkout@
|
|
36
|
+
- uses: actions/checkout@v4
|
|
25
37
|
|
|
26
38
|
- name: Set up Python ${{ matrix.python-version }}
|
|
27
39
|
uses: actions/setup-python@v4
|
|
@@ -31,24 +43,28 @@ jobs:
|
|
|
31
43
|
- name: Install dependencies
|
|
32
44
|
run: |
|
|
33
45
|
python -m pip install --upgrade pip
|
|
34
|
-
pip install
|
|
46
|
+
pip install "${{ matrix.pydantic }}"
|
|
47
|
+
pip install -e .[json,docs,testing]
|
|
35
48
|
|
|
36
49
|
- name: Test Main docs build
|
|
37
50
|
run: pytest --color yes -m github_main_only
|
|
38
51
|
- name: Test
|
|
39
|
-
run:
|
|
52
|
+
run: |
|
|
53
|
+
coverage run --source=npe2 -m pytest --color yes
|
|
40
54
|
|
|
41
|
-
- name:
|
|
42
|
-
uses:
|
|
55
|
+
- name: Upload coverage as artifact
|
|
56
|
+
uses: actions/upload-artifact@v3
|
|
43
57
|
with:
|
|
44
|
-
|
|
58
|
+
name: coverage reports
|
|
59
|
+
path: |
|
|
60
|
+
./.coverage.*
|
|
45
61
|
|
|
46
62
|
test_napari:
|
|
47
63
|
name: napari tests
|
|
48
64
|
runs-on: ubuntu-latest
|
|
49
65
|
steps:
|
|
50
|
-
- uses: actions/checkout@
|
|
51
|
-
- uses: actions/checkout@
|
|
66
|
+
- uses: actions/checkout@v4
|
|
67
|
+
- uses: actions/checkout@v4
|
|
52
68
|
with:
|
|
53
69
|
repository: napari/napari
|
|
54
70
|
path: napari-from-github
|
|
@@ -56,14 +72,14 @@ jobs:
|
|
|
56
72
|
|
|
57
73
|
- uses: actions/setup-python@v4
|
|
58
74
|
with:
|
|
59
|
-
python-version:
|
|
75
|
+
python-version: "3.10"
|
|
60
76
|
- name: Install
|
|
61
77
|
run: |
|
|
62
78
|
python -m pip install --upgrade pip
|
|
63
|
-
python -m pip install -e ./napari-from-github
|
|
64
|
-
python -m pip install -e .
|
|
79
|
+
python -m pip install -e ./napari-from-github -c "./napari-from-github/resources/constraints/constraints_py3.10.txt"
|
|
80
|
+
python -m pip install -e .[json]
|
|
65
81
|
# bare minimum required to test napari/plugins
|
|
66
|
-
python -m pip install pytest scikit-image[data] zarr xarray hypothesis matplotlib
|
|
82
|
+
python -m pip install pytest pytest-pretty scikit-image[data] zarr xarray hypothesis matplotlib
|
|
67
83
|
|
|
68
84
|
- name: Run napari plugin headless tests
|
|
69
85
|
run: pytest -W 'ignore::DeprecationWarning' napari/plugins napari/settings napari/layers napari/components
|
|
@@ -73,28 +89,70 @@ jobs:
|
|
|
73
89
|
name: docs render
|
|
74
90
|
runs-on: ubuntu-latest
|
|
75
91
|
steps:
|
|
76
|
-
- uses: actions/checkout@
|
|
92
|
+
- uses: actions/checkout@v4
|
|
77
93
|
- uses: actions/setup-python@v4
|
|
78
94
|
with:
|
|
79
|
-
python-version:
|
|
95
|
+
python-version: "3.x"
|
|
80
96
|
- name: Build schema
|
|
81
97
|
run: |
|
|
82
98
|
python -m pip install --upgrade pip
|
|
83
|
-
pip install -e .[docs]
|
|
99
|
+
pip install -e .[docs] check-jsonschema
|
|
84
100
|
python -m npe2.manifest.schema > _schema.json
|
|
101
|
+
check-jsonschema --check-metaschema _schema.json
|
|
85
102
|
- name: Test rendering docs
|
|
86
103
|
run: python _docs/render.py
|
|
87
104
|
env:
|
|
88
105
|
NPE2_SCHEMA: "_schema.json"
|
|
89
106
|
|
|
107
|
+
upload_coverage:
|
|
108
|
+
needs: test
|
|
109
|
+
name: Upload coverage
|
|
110
|
+
if: always()
|
|
111
|
+
runs-on: ubuntu-latest
|
|
112
|
+
steps:
|
|
113
|
+
- uses: actions/checkout@v3
|
|
114
|
+
|
|
115
|
+
- uses: actions/setup-python@v4
|
|
116
|
+
with:
|
|
117
|
+
python-version: "3.x"
|
|
118
|
+
cache-dependency-path: setup.cfg
|
|
119
|
+
cache: 'pip'
|
|
120
|
+
|
|
121
|
+
- name: Install Dependencies
|
|
122
|
+
run: |
|
|
123
|
+
pip install --upgrade pip
|
|
124
|
+
pip install codecov
|
|
125
|
+
|
|
126
|
+
- name: Download coverage data
|
|
127
|
+
uses: actions/download-artifact@v3
|
|
128
|
+
with:
|
|
129
|
+
name: coverage reports
|
|
130
|
+
path: coverage
|
|
131
|
+
|
|
132
|
+
- name: combine coverage data
|
|
133
|
+
run: |
|
|
134
|
+
python -Im coverage combine coverage
|
|
135
|
+
python -Im coverage xml -o coverage.xml
|
|
136
|
+
|
|
137
|
+
# Report and write to summary.
|
|
138
|
+
python -Im coverage report --format=markdown --skip-empty --skip-covered >> $GITHUB_STEP_SUMMARY
|
|
139
|
+
|
|
140
|
+
- name: Upload coverage data
|
|
141
|
+
uses: codecov/codecov-action@v3
|
|
142
|
+
with:
|
|
143
|
+
fail_ci_if_error: true
|
|
144
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
145
|
+
|
|
90
146
|
deploy:
|
|
91
147
|
name: Deploy
|
|
92
148
|
needs: test
|
|
93
149
|
if: "success() && startsWith(github.ref, 'refs/tags/')"
|
|
94
150
|
runs-on: ubuntu-latest
|
|
95
|
-
|
|
151
|
+
permissions:
|
|
152
|
+
contents: write
|
|
153
|
+
id-token: write
|
|
96
154
|
steps:
|
|
97
|
-
- uses: actions/checkout@
|
|
155
|
+
- uses: actions/checkout@v4
|
|
98
156
|
|
|
99
157
|
- name: Set up Python
|
|
100
158
|
uses: actions/setup-python@v4
|
|
@@ -112,8 +170,9 @@ jobs:
|
|
|
112
170
|
|
|
113
171
|
- name: write schema
|
|
114
172
|
run: |
|
|
115
|
-
pip install -e .
|
|
173
|
+
pip install -e . check-jsonschema
|
|
116
174
|
python -m npe2.manifest.schema > schema.json
|
|
175
|
+
check-jsonschema --check-metaschema schema.json
|
|
117
176
|
|
|
118
177
|
- name: Build and publish
|
|
119
178
|
run: twine upload dist/*
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
name: Test all plugins
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [ labeled ]
|
|
6
|
+
workflow_dispatch:
|
|
7
|
+
|
|
8
|
+
concurrency:
|
|
9
|
+
group: test-plugins-${{ github.ref }}
|
|
10
|
+
cancel-in-progress: true
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
get-plugins:
|
|
14
|
+
if: github.event.label.name == 'test-all-plugins' || github.event_name == 'workflow_dispatch'
|
|
15
|
+
runs-on: ubuntu-latest
|
|
16
|
+
steps:
|
|
17
|
+
- id: plugin_names
|
|
18
|
+
run: echo "::set-output name=plugins::$(curl -s https://api.napari-hub.org/plugins | jq -c 'keys')"
|
|
19
|
+
outputs:
|
|
20
|
+
plugins: ${{ steps.plugin_names.outputs.plugins }}
|
|
21
|
+
|
|
22
|
+
test_all:
|
|
23
|
+
needs: get-plugins
|
|
24
|
+
name: ${{ matrix.plugin }}
|
|
25
|
+
runs-on: ubuntu-latest
|
|
26
|
+
strategy:
|
|
27
|
+
fail-fast: false
|
|
28
|
+
matrix:
|
|
29
|
+
plugin: ${{ fromJson(needs.get-plugins.outputs.plugins) }}
|
|
30
|
+
defaults:
|
|
31
|
+
run:
|
|
32
|
+
shell: bash -l {0}
|
|
33
|
+
|
|
34
|
+
steps:
|
|
35
|
+
- uses: actions/checkout@v4
|
|
36
|
+
|
|
37
|
+
- uses: tlambert03/setup-qt-libs@v1
|
|
38
|
+
|
|
39
|
+
- uses: conda-incubator/setup-miniconda@v3
|
|
40
|
+
with:
|
|
41
|
+
python-version: 3.9
|
|
42
|
+
miniforge-variant: Mambaforge
|
|
43
|
+
miniforge-version: latest
|
|
44
|
+
use-mamba: true
|
|
45
|
+
|
|
46
|
+
- name: Install npe2
|
|
47
|
+
run: pip install -e .[testing]
|
|
48
|
+
|
|
49
|
+
- run: sudo apt-get install -y xvfb
|
|
50
|
+
- name: Run tests
|
|
51
|
+
run: xvfb-run --auto-servernum pytest tests/test_all_plugins.py -s -v --color=yes
|
|
52
|
+
env:
|
|
53
|
+
TEST_PACKAGE_NAME: ${{ matrix.plugin }}
|
|
@@ -5,13 +5,14 @@ on:
|
|
|
5
5
|
# pull_request:
|
|
6
6
|
workflow_dispatch:
|
|
7
7
|
|
|
8
|
+
concurrency:
|
|
9
|
+
group: convert-${{ github.ref }}
|
|
10
|
+
cancel-in-progress: true
|
|
11
|
+
|
|
8
12
|
jobs:
|
|
9
13
|
get-plugins:
|
|
10
14
|
runs-on: ubuntu-latest
|
|
11
15
|
steps:
|
|
12
|
-
- uses: styfle/cancel-workflow-action@0.9.1
|
|
13
|
-
with:
|
|
14
|
-
access_token: ${{ github.token }}
|
|
15
16
|
- id: plugin_names
|
|
16
17
|
run: echo "::set-output name=plugins::$(curl -s https://api.napari-hub.org/plugins | jq -c 'keys')"
|
|
17
18
|
outputs:
|
|
@@ -49,7 +50,7 @@ jobs:
|
|
|
49
50
|
echo "plugin_repo=$URL" >> $GITHUB_ENV
|
|
50
51
|
|
|
51
52
|
- name: Checkout plugin repo
|
|
52
|
-
uses: actions/checkout@
|
|
53
|
+
uses: actions/checkout@v4
|
|
53
54
|
with:
|
|
54
55
|
repository: ${{ env.plugin_repo }}
|
|
55
56
|
path: 'plugin_repo'
|
|
@@ -60,7 +61,7 @@ jobs:
|
|
|
60
61
|
|
|
61
62
|
- name: Test Conversion
|
|
62
63
|
id: test-without-napari
|
|
63
|
-
uses:
|
|
64
|
+
uses: aganders3/headless-gui@v1
|
|
64
65
|
continue-on-error: true
|
|
65
66
|
with:
|
|
66
67
|
run: npe2 convert ./plugin_repo
|
|
@@ -72,13 +73,13 @@ jobs:
|
|
|
72
73
|
- name: Test Conversion again with napari
|
|
73
74
|
id: test-with-napari
|
|
74
75
|
if: ${{ steps.test-without-napari.outcome == 'failure' }}
|
|
75
|
-
uses:
|
|
76
|
+
uses: aganders3/headless-gui@v1
|
|
76
77
|
with:
|
|
77
78
|
run: npe2 convert ./plugin_repo
|
|
78
79
|
|
|
79
80
|
- name: Test Conversion again with napari
|
|
80
81
|
if: ${{ steps.test-without-napari.outcome == 'failure' && steps.test-with-napari.outcome == 'failure' }}
|
|
81
|
-
uses:
|
|
82
|
+
uses: aganders3/headless-gui@v1
|
|
82
83
|
with:
|
|
83
84
|
# try without modifying directory
|
|
84
85
|
run: npe2 convert -n ${{ matrix.plugin }}
|
|
@@ -11,7 +11,7 @@ jobs:
|
|
|
11
11
|
runs-on: ubuntu-20.04
|
|
12
12
|
steps:
|
|
13
13
|
- name: Checkout
|
|
14
|
-
uses: actions/checkout@
|
|
14
|
+
uses: actions/checkout@v4
|
|
15
15
|
- name: "✏️ Generate release changelog"
|
|
16
16
|
uses: heinrichreimer/github-changelog-generator-action@v2.3
|
|
17
17
|
with:
|
|
@@ -19,9 +19,9 @@ jobs:
|
|
|
19
19
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
20
20
|
repo: napari/npe2
|
|
21
21
|
- name: Create Pull Request
|
|
22
|
-
uses: peter-evans/create-pull-request@
|
|
22
|
+
uses: peter-evans/create-pull-request@v5
|
|
23
23
|
with:
|
|
24
24
|
token: ${{ secrets.GITHUB_TOKEN }}
|
|
25
25
|
commit-message: Automatic changelog update
|
|
26
|
-
title:
|
|
26
|
+
title: changelog ${{ github.event.inputs.next_tag }}
|
|
27
27
|
branch: update-changelog
|
|
@@ -24,6 +24,7 @@ wheels/
|
|
|
24
24
|
*.egg-info/
|
|
25
25
|
.installed.cfg
|
|
26
26
|
*.egg
|
|
27
|
+
.DS_Store
|
|
27
28
|
|
|
28
29
|
# PyInstaller
|
|
29
30
|
# Usually these files are written by a python script from a template
|
|
@@ -100,10 +101,11 @@ ENV/
|
|
|
100
101
|
|
|
101
102
|
# mypy
|
|
102
103
|
.mypy_cache/
|
|
104
|
+
.ruff_cache/
|
|
103
105
|
|
|
104
106
|
# IDE settings
|
|
105
107
|
.vscode/
|
|
106
|
-
npe2/_version.py
|
|
108
|
+
src/npe2/_version.py
|
|
107
109
|
|
|
108
110
|
# ignore everything that gets rendered from _docs
|
|
109
111
|
docs/plugins/*.md
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
ci:
|
|
2
|
+
autoupdate_schedule: monthly
|
|
3
|
+
autofix_commit_msg: "style: [pre-commit.ci] auto fixes [...]"
|
|
4
|
+
autoupdate_commit_msg: "ci: [pre-commit.ci] autoupdate"
|
|
5
|
+
|
|
6
|
+
exclude: _docs/example_plugin/some_module.py
|
|
7
|
+
|
|
8
|
+
repos:
|
|
9
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
10
|
+
rev: v4.4.0
|
|
11
|
+
hooks:
|
|
12
|
+
- id: check-docstring-first
|
|
13
|
+
- id: end-of-file-fixer
|
|
14
|
+
- id: trailing-whitespace
|
|
15
|
+
|
|
16
|
+
- repo: https://github.com/psf/black
|
|
17
|
+
rev: 23.7.0
|
|
18
|
+
hooks:
|
|
19
|
+
- id: black
|
|
20
|
+
|
|
21
|
+
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
22
|
+
rev: v0.0.282
|
|
23
|
+
hooks:
|
|
24
|
+
- id: ruff
|
|
25
|
+
|
|
26
|
+
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
27
|
+
rev: v1.4.1
|
|
28
|
+
hooks:
|
|
29
|
+
- id: mypy
|
|
30
|
+
additional_dependencies:
|
|
31
|
+
- types-toml
|
|
32
|
+
- types-PyYAML
|
|
33
|
+
exclude: npe2/implements.pyi|_docs/render.py
|
|
@@ -1,8 +1,212 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
-
## [
|
|
3
|
+
## [v0.7.1](https://github.com/napari/npe2/tree/v0.7.1) (2023-07-16)
|
|
4
4
|
|
|
5
|
-
[Full Changelog](https://github.com/napari/npe2/compare/v0.
|
|
5
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.7.0...v0.7.1)
|
|
6
|
+
|
|
7
|
+
**Implemented enhancements:**
|
|
8
|
+
|
|
9
|
+
- feat: support python3.11 [\#293](https://github.com/napari/npe2/pull/293) ([tlambert03](https://github.com/tlambert03))
|
|
10
|
+
- add graph layer [\#292](https://github.com/napari/npe2/pull/292) ([JoOkuma](https://github.com/JoOkuma))
|
|
11
|
+
|
|
12
|
+
**Fixed bugs:**
|
|
13
|
+
|
|
14
|
+
- fix: use constraints in napari tests [\#298](https://github.com/napari/npe2/pull/298) ([Czaki](https://github.com/Czaki))
|
|
15
|
+
- Use full `plugin_name` when finding chosen `reader` rather than `startswith` [\#297](https://github.com/napari/npe2/pull/297) ([DragaDoncila](https://github.com/DragaDoncila))
|
|
16
|
+
- Change ArrayLike type to use read only properties [\#289](https://github.com/napari/npe2/pull/289) ([andy-sweet](https://github.com/andy-sweet))
|
|
17
|
+
- Bugfix: use .lower\(\) to make paths & pattern fnmatch case insensitive [\#275](https://github.com/napari/npe2/pull/275) ([psobolewskiPhD](https://github.com/psobolewskiPhD))
|
|
18
|
+
|
|
19
|
+
**Documentation:**
|
|
20
|
+
|
|
21
|
+
- Fix typo in `DynamicPlugin` [\#304](https://github.com/napari/npe2/pull/304) ([lucyleeow](https://github.com/lucyleeow))
|
|
22
|
+
- DOCS: Widget guide should consistently use parent=None kwarg in examples [\#302](https://github.com/napari/npe2/pull/302) ([GenevieveBuckley](https://github.com/GenevieveBuckley))
|
|
23
|
+
|
|
24
|
+
**Merged pull requests:**
|
|
25
|
+
|
|
26
|
+
- remove tomlpp [\#294](https://github.com/napari/npe2/pull/294) ([tlambert03](https://github.com/tlambert03))
|
|
27
|
+
- Use hatchling as build backend [\#282](https://github.com/napari/npe2/pull/282) ([tlambert03](https://github.com/tlambert03))
|
|
28
|
+
|
|
29
|
+
## [v0.7.0](https://github.com/napari/npe2/tree/v0.7.0) (2023-04-14)
|
|
30
|
+
|
|
31
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.6.2...v0.7.0)
|
|
32
|
+
|
|
33
|
+
**Fixed bugs:**
|
|
34
|
+
|
|
35
|
+
- fix: pass command registry to rdr.exec in io\_utils.\_read [\#285](https://github.com/napari/npe2/pull/285) ([tlambert03](https://github.com/tlambert03))
|
|
36
|
+
- fix: use logger instead of warning for TestPluginManager.discover [\#283](https://github.com/napari/npe2/pull/283) ([tlambert03](https://github.com/tlambert03))
|
|
37
|
+
- Add specific error when reader plugin was chosen but failed [\#276](https://github.com/napari/npe2/pull/276) ([DragaDoncila](https://github.com/DragaDoncila))
|
|
38
|
+
|
|
39
|
+
**Tests & CI:**
|
|
40
|
+
|
|
41
|
+
- Fix tests: use npe1 version \(0.1.2\) of napari-ndtiffs [\#277](https://github.com/napari/npe2/pull/277) ([psobolewskiPhD](https://github.com/psobolewskiPhD))
|
|
42
|
+
- ci: update pre-commit, use ruff and fix mypy [\#273](https://github.com/napari/npe2/pull/273) ([tlambert03](https://github.com/tlambert03))
|
|
43
|
+
- Switch from GabrielBB/xvfb-action to aganders3/headless-gui [\#269](https://github.com/napari/npe2/pull/269) ([Czaki](https://github.com/Czaki))
|
|
44
|
+
|
|
45
|
+
**Refactors:**
|
|
46
|
+
|
|
47
|
+
- refactor: use src layout and pyproject.toml [\#281](https://github.com/napari/npe2/pull/281) ([tlambert03](https://github.com/tlambert03))
|
|
48
|
+
|
|
49
|
+
**Documentation:**
|
|
50
|
+
|
|
51
|
+
- Fix link to magicgui objects.inv in intersphinx [\#270](https://github.com/napari/npe2/pull/270) ([melissawm](https://github.com/melissawm))
|
|
52
|
+
|
|
53
|
+
**Merged pull requests:**
|
|
54
|
+
|
|
55
|
+
- chore: changelog v0.7.0 [\#286](https://github.com/napari/npe2/pull/286) ([tlambert03](https://github.com/tlambert03))
|
|
56
|
+
- ci\(dependabot\): bump peter-evans/create-pull-request from 4 to 5 [\#284](https://github.com/napari/npe2/pull/284) ([dependabot[bot]](https://github.com/apps/dependabot))
|
|
57
|
+
- Pin pydantic bellow 2.0 [\#279](https://github.com/napari/npe2/pull/279) ([Czaki](https://github.com/Czaki))
|
|
58
|
+
|
|
59
|
+
## [v0.6.2](https://github.com/napari/npe2/tree/v0.6.2) (2023-01-12)
|
|
60
|
+
|
|
61
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.6.1...v0.6.2)
|
|
62
|
+
|
|
63
|
+
**Implemented enhancements:**
|
|
64
|
+
|
|
65
|
+
- Expose `syntax_style` [\#261](https://github.com/napari/npe2/pull/261) ([brisvag](https://github.com/brisvag))
|
|
66
|
+
- enable keybinding contribution [\#254](https://github.com/napari/npe2/pull/254) ([kne42](https://github.com/kne42))
|
|
67
|
+
- Add count of discovered plugins [\#248](https://github.com/napari/npe2/pull/248) ([Czaki](https://github.com/Czaki))
|
|
68
|
+
- fix: relax display name validation [\#242](https://github.com/napari/npe2/pull/242) ([tlambert03](https://github.com/tlambert03))
|
|
69
|
+
- feat: add more fetch sources [\#240](https://github.com/napari/npe2/pull/240) ([tlambert03](https://github.com/tlambert03))
|
|
70
|
+
- feat: add category [\#239](https://github.com/napari/npe2/pull/239) ([tlambert03](https://github.com/tlambert03))
|
|
71
|
+
- bug: ignore extra fields on manifest [\#237](https://github.com/napari/npe2/pull/237) ([tlambert03](https://github.com/tlambert03))
|
|
72
|
+
- feat: add icon to manifest [\#235](https://github.com/napari/npe2/pull/235) ([tlambert03](https://github.com/tlambert03))
|
|
73
|
+
- add visibility field [\#234](https://github.com/napari/npe2/pull/234) ([tlambert03](https://github.com/tlambert03))
|
|
74
|
+
|
|
75
|
+
**Fixed bugs:**
|
|
76
|
+
|
|
77
|
+
- Fix PackageMetadata validation error with extra provided field [\#256](https://github.com/napari/npe2/pull/256) ([aganders3](https://github.com/aganders3))
|
|
78
|
+
- fix: alternate fix for dotted plugin\_name [\#238](https://github.com/napari/npe2/pull/238) ([tlambert03](https://github.com/tlambert03))
|
|
79
|
+
|
|
80
|
+
**Tests & CI:**
|
|
81
|
+
|
|
82
|
+
- fix flaky fetch tests [\#255](https://github.com/napari/npe2/pull/255) ([nclack](https://github.com/nclack))
|
|
83
|
+
|
|
84
|
+
**Documentation:**
|
|
85
|
+
|
|
86
|
+
- Move to sphinx-design tabs [\#259](https://github.com/napari/npe2/pull/259) ([melissawm](https://github.com/melissawm))
|
|
87
|
+
- Fix a few broken links [\#258](https://github.com/napari/npe2/pull/258) ([melissawm](https://github.com/melissawm))
|
|
88
|
+
|
|
89
|
+
**Merged pull requests:**
|
|
90
|
+
|
|
91
|
+
- changelog v0.6.2 [\#268](https://github.com/napari/npe2/pull/268) ([github-actions[bot]](https://github.com/apps/github-actions))
|
|
92
|
+
- ci\(dependabot\): bump styfle/cancel-workflow-action from 0.10.1 to 0.11.0 [\#252](https://github.com/napari/npe2/pull/252) ([dependabot[bot]](https://github.com/apps/dependabot))
|
|
93
|
+
- ci\(dependabot\): bump styfle/cancel-workflow-action from 0.10.0 to 0.10.1 [\#246](https://github.com/napari/npe2/pull/246) ([dependabot[bot]](https://github.com/apps/dependabot))
|
|
94
|
+
- Add setuptools plugin to compile manifest at build [\#194](https://github.com/napari/npe2/pull/194) ([tlambert03](https://github.com/tlambert03))
|
|
95
|
+
|
|
96
|
+
## [v0.6.1](https://github.com/napari/npe2/tree/v0.6.1) (2022-08-08)
|
|
97
|
+
|
|
98
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.6.0...v0.6.1)
|
|
99
|
+
|
|
100
|
+
**Fixed bugs:**
|
|
101
|
+
|
|
102
|
+
- fix command id validation when dot in package name [\#230](https://github.com/napari/npe2/pull/230) ([tlambert03](https://github.com/tlambert03))
|
|
103
|
+
|
|
104
|
+
**Merged pull requests:**
|
|
105
|
+
|
|
106
|
+
- changelog v0.6.1 [\#231](https://github.com/napari/npe2/pull/231) ([tlambert03](https://github.com/tlambert03))
|
|
107
|
+
|
|
108
|
+
## [v0.6.0](https://github.com/napari/npe2/tree/v0.6.0) (2022-08-07)
|
|
109
|
+
|
|
110
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.5.2...v0.6.0)
|
|
111
|
+
|
|
112
|
+
**Implemented enhancements:**
|
|
113
|
+
|
|
114
|
+
- Add \(refactor\) configuration contribution, allowing plugins to declare a schema for their configurables [\#219](https://github.com/napari/npe2/pull/219) ([tlambert03](https://github.com/tlambert03))
|
|
115
|
+
- npe1 module ast visitor \(for faster fetch without install\) [\#217](https://github.com/napari/npe2/pull/217) ([tlambert03](https://github.com/tlambert03))
|
|
116
|
+
- Compile plugins using `npe2.implements` [\#186](https://github.com/napari/npe2/pull/186) ([tlambert03](https://github.com/tlambert03))
|
|
117
|
+
|
|
118
|
+
**Fixed bugs:**
|
|
119
|
+
|
|
120
|
+
- fix name validator to allow periods [\#227](https://github.com/napari/npe2/pull/227) ([tlambert03](https://github.com/tlambert03))
|
|
121
|
+
- fix: delay inspection of command params [\#223](https://github.com/napari/npe2/pull/223) ([tlambert03](https://github.com/tlambert03))
|
|
122
|
+
- Improve error message on schema validation [\#220](https://github.com/napari/npe2/pull/220) ([Czaki](https://github.com/Czaki))
|
|
123
|
+
|
|
124
|
+
**Tests & CI:**
|
|
125
|
+
|
|
126
|
+
- ci: remove fetch\_manifests [\#224](https://github.com/napari/npe2/pull/224) ([tlambert03](https://github.com/tlambert03))
|
|
127
|
+
- run io\_utils tests first [\#222](https://github.com/napari/npe2/pull/222) ([tlambert03](https://github.com/tlambert03))
|
|
128
|
+
|
|
129
|
+
**Merged pull requests:**
|
|
130
|
+
|
|
131
|
+
- v0.6.0 changelog [\#229](https://github.com/napari/npe2/pull/229) ([github-actions[bot]](https://github.com/apps/github-actions))
|
|
132
|
+
- build: remove magicgui dependency [\#218](https://github.com/napari/npe2/pull/218) ([tlambert03](https://github.com/tlambert03))
|
|
133
|
+
|
|
134
|
+
## [v0.5.2](https://github.com/napari/npe2/tree/v0.5.2) (2022-07-24)
|
|
135
|
+
|
|
136
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.5.1...v0.5.2)
|
|
137
|
+
|
|
138
|
+
**Implemented enhancements:**
|
|
139
|
+
|
|
140
|
+
- feat: deactivate on disable [\#212](https://github.com/napari/npe2/pull/212) ([tlambert03](https://github.com/tlambert03))
|
|
141
|
+
- feat: add register\_disposable [\#211](https://github.com/napari/npe2/pull/211) ([tlambert03](https://github.com/tlambert03))
|
|
142
|
+
- add back command enablement, category, short\_title, and icon [\#210](https://github.com/napari/npe2/pull/210) ([tlambert03](https://github.com/tlambert03))
|
|
143
|
+
- add version to cli [\#205](https://github.com/napari/npe2/pull/205) ([tlambert03](https://github.com/tlambert03))
|
|
144
|
+
|
|
145
|
+
**Fixed bugs:**
|
|
146
|
+
|
|
147
|
+
- Fix `npe2 list` when a dotted field key is empty [\#203](https://github.com/napari/npe2/pull/203) ([tlambert03](https://github.com/tlambert03))
|
|
148
|
+
|
|
149
|
+
**Refactors:**
|
|
150
|
+
|
|
151
|
+
- Split out `from_npe1` setuptools package inspection into new module [\#206](https://github.com/napari/npe2/pull/206) ([tlambert03](https://github.com/tlambert03))
|
|
152
|
+
|
|
153
|
+
**Documentation:**
|
|
154
|
+
|
|
155
|
+
- Fix documentation links [\#208](https://github.com/napari/npe2/pull/208) ([melissawm](https://github.com/melissawm))
|
|
156
|
+
|
|
157
|
+
**Merged pull requests:**
|
|
158
|
+
|
|
159
|
+
- changelog v0.5.2 [\#213](https://github.com/napari/npe2/pull/213) ([tlambert03](https://github.com/tlambert03))
|
|
160
|
+
|
|
161
|
+
## [v0.5.1](https://github.com/napari/npe2/tree/v0.5.1) (2022-06-27)
|
|
162
|
+
|
|
163
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.5.0...v0.5.1)
|
|
164
|
+
|
|
165
|
+
**Implemented enhancements:**
|
|
166
|
+
|
|
167
|
+
- Add PluginManager `dict()` method to export state of manager [\#197](https://github.com/napari/npe2/pull/197) ([tlambert03](https://github.com/tlambert03))
|
|
168
|
+
- Add `npe2 list` command to discover/display all currently installed plugins [\#192](https://github.com/napari/npe2/pull/192) ([tlambert03](https://github.com/tlambert03))
|
|
169
|
+
|
|
170
|
+
**Fixed bugs:**
|
|
171
|
+
|
|
172
|
+
- index npe1 stuff on `npe2 list` [\#198](https://github.com/napari/npe2/pull/198) ([tlambert03](https://github.com/tlambert03))
|
|
173
|
+
|
|
174
|
+
**Tests & CI:**
|
|
175
|
+
|
|
176
|
+
- Always mock cache in tests [\#199](https://github.com/napari/npe2/pull/199) ([tlambert03](https://github.com/tlambert03))
|
|
177
|
+
|
|
178
|
+
**Documentation:**
|
|
179
|
+
|
|
180
|
+
- Add mised theme type in description [\#200](https://github.com/napari/npe2/pull/200) ([Czaki](https://github.com/Czaki))
|
|
181
|
+
- Add docs clarifying menus `when` and `group` [\#195](https://github.com/napari/npe2/pull/195) ([tlambert03](https://github.com/tlambert03))
|
|
182
|
+
- Add docs about length requirements to display name [\#191](https://github.com/napari/npe2/pull/191) ([tlambert03](https://github.com/tlambert03))
|
|
183
|
+
|
|
184
|
+
**Merged pull requests:**
|
|
185
|
+
|
|
186
|
+
- changelog v0.5.1 [\#201](https://github.com/napari/npe2/pull/201) ([tlambert03](https://github.com/tlambert03))
|
|
187
|
+
- Remove typing-extensions imports [\#193](https://github.com/napari/npe2/pull/193) ([tlambert03](https://github.com/tlambert03))
|
|
188
|
+
|
|
189
|
+
## [v0.5.0](https://github.com/napari/npe2/tree/v0.5.0) (2022-06-21)
|
|
190
|
+
|
|
191
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.4.1...v0.5.0)
|
|
192
|
+
|
|
193
|
+
**Implemented enhancements:**
|
|
194
|
+
|
|
195
|
+
- Prevent runtime-arg checking on npe2.implements decorators by default [\#188](https://github.com/napari/npe2/pull/188) ([tlambert03](https://github.com/tlambert03))
|
|
196
|
+
- Add `npe2 fetch` command to cli to fetch remote manifests [\#185](https://github.com/napari/npe2/pull/185) ([tlambert03](https://github.com/tlambert03))
|
|
197
|
+
- allow `npe2 parse` to output to file, add format option [\#183](https://github.com/napari/npe2/pull/183) ([tlambert03](https://github.com/tlambert03))
|
|
198
|
+
- Add `npe1_shim` field to schema [\#182](https://github.com/napari/npe2/pull/182) ([tlambert03](https://github.com/tlambert03))
|
|
199
|
+
- allow `npe2.write` to take layer instances [\#181](https://github.com/napari/npe2/pull/181) ([tlambert03](https://github.com/tlambert03))
|
|
200
|
+
- Add `npe2pm` `TestPluginManager` fixture [\#180](https://github.com/napari/npe2/pull/180) ([tlambert03](https://github.com/tlambert03))
|
|
201
|
+
- Add `@npe.implements` decorators, for opt-in manifest validation and/or AST-based-generation [\#75](https://github.com/napari/npe2/pull/75) ([tlambert03](https://github.com/tlambert03))
|
|
202
|
+
|
|
203
|
+
**Fixed bugs:**
|
|
204
|
+
|
|
205
|
+
- Fail silently when caching throws `OSError` [\#184](https://github.com/napari/npe2/pull/184) ([DragaDoncila](https://github.com/DragaDoncila))
|
|
206
|
+
|
|
207
|
+
## [v0.4.1](https://github.com/napari/npe2/tree/v0.4.1) (2022-06-13)
|
|
208
|
+
|
|
209
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.4.0...v0.4.1)
|
|
6
210
|
|
|
7
211
|
**Fixed bugs:**
|
|
8
212
|
|
|
@@ -10,7 +214,7 @@
|
|
|
10
214
|
|
|
11
215
|
## [v0.4.0](https://github.com/napari/npe2/tree/v0.4.0) (2022-06-13)
|
|
12
216
|
|
|
13
|
-
[Full Changelog](https://github.com/napari/npe2/compare/v0.3.0...v0.4.0)
|
|
217
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.3.0.rc0...v0.4.0)
|
|
14
218
|
|
|
15
219
|
**Implemented enhancements:**
|
|
16
220
|
|
|
@@ -40,17 +244,13 @@
|
|
|
40
244
|
- Add doc links to README [\#158](https://github.com/napari/npe2/pull/158) ([nclack](https://github.com/nclack))
|
|
41
245
|
- Fix codeblock directive in docstring [\#156](https://github.com/napari/npe2/pull/156) ([melissawm](https://github.com/melissawm))
|
|
42
246
|
|
|
43
|
-
|
|
247
|
+
## [v0.3.0.rc0](https://github.com/napari/npe2/tree/v0.3.0.rc0) (2022-04-05)
|
|
44
248
|
|
|
45
|
-
|
|
249
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.3.0...v0.3.0.rc0)
|
|
46
250
|
|
|
47
251
|
## [v0.3.0](https://github.com/napari/npe2/tree/v0.3.0) (2022-04-05)
|
|
48
252
|
|
|
49
|
-
[Full Changelog](https://github.com/napari/npe2/compare/v0.
|
|
50
|
-
|
|
51
|
-
## [v0.3.0.rc0](https://github.com/napari/npe2/tree/v0.3.0.rc0) (2022-04-05)
|
|
52
|
-
|
|
53
|
-
[Full Changelog](https://github.com/napari/npe2/compare/v0.2.2...v0.3.0.rc0)
|
|
253
|
+
[Full Changelog](https://github.com/napari/npe2/compare/v0.2.2...v0.3.0)
|
|
54
254
|
|
|
55
255
|
**Implemented enhancements:**
|
|
56
256
|
|
npe2-0.7.5/Makefile
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
.PHONY: docs
|
|
2
|
+
|
|
3
|
+
docs:
|
|
4
|
+
rm -rf docs/plugins
|
|
5
|
+
python _docs/render.py
|
|
6
|
+
rm -rf ./napari
|
|
7
|
+
git clone --depth 1 --filter=blob:none --sparse -b update-plugin-docs https://github.com/tlambert03/napari.git
|
|
8
|
+
(cd napari && git sparse-checkout set docs/plugins)
|
|
9
|
+
cp napari/docs/plugins/* docs/plugins
|
|
10
|
+
rm -rf ./napari
|
|
11
|
+
jb build docs
|
|
12
|
+
|
|
13
|
+
# by default this will make a minor version bump (e.g v0.4.16 -> v0.4.17)
|
|
14
|
+
LAST := $(shell git tag -l | grep "v[0-9]+*" | awk '!/rc/' | sort -V | tail -1)
|
|
15
|
+
SINCE := $(shell git log -1 -s --format=%cd --date=format:'%Y-%m-%d' $(LAST))
|
|
16
|
+
NEXT := $(shell echo $(LAST) | awk -F. -v OFS=. '{$$NF += 1 ; print}')
|
|
17
|
+
changelog:
|
|
18
|
+
github_changelog_generator --future-release=$(NEXT) --since-commit=$(SINCE)
|