Skip to content

Commit 2a0dfc6

Browse files
clane9kaitj
authored andcommitted
Add plugin discovery based on package name prefix
1 parent e02ff51 commit 2a0dfc6

2 files changed

Lines changed: 15 additions & 0 deletions

File tree

src/niftyone/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
"""Large-scale neuroimaging visualization using FiftyOne."""
22

3+
# Import all plugins. In particular this should register user's custom generators
4+
from . import plugins
35
from ._version import __version__, __version_tuple__
46

57
# Register existing views

src/niftyone/plugins.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
"""NiftyOne plugin discovery based on 'niftyone_{plugin_name}' naming convention."""
2+
3+
import importlib
4+
import pkgutil
5+
6+
PLUGIN_PREFIX = "niftyone_"
7+
8+
# https://packaging.python.org/en/latest/guides/creating-and-discovering-plugins/#using-naming-convention
9+
PLUGINS = {
10+
name: importlib.import_module(name)
11+
for finder, name, ispkg in pkgutil.iter_modules()
12+
if name.startswith(PLUGIN_PREFIX)
13+
}

0 commit comments

Comments
 (0)