Skip to content

Metadata plugins - #1700

Merged
David-Baddeley merged 2 commits into
python-microscopy:masterfrom
David-Baddeley:metadata_plugins
Aug 27, 2026
Merged

Metadata plugins#1700
David-Baddeley merged 2 commits into
python-microscopy:masterfrom
David-Baddeley:metadata_plugins

Conversation

@David-Baddeley

@David-Baddeley David-Baddeley commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Addresses issue #1899

Adds a new and hopefully simpler method of registering plugins by specifying entry points in the plugins pyproject.toml. This means that you can just pip-install the plugin and PYME will find it.

@csoeller @barentine - this should nicely handle the plugin installation workflow for pip based plugins discussed in email.

@zacsimile - Have already ported ch-shrinkwrap
@barentine - Haven't done anything to nep-fitting

Docs below:

Declare entry points in your package's pyproject.toml. PYME discovers them automatically on startup with no
file copying. This works identically for pip, conda, and editable installs.

    [project.entry-points."pyme.plugins.recipes"]
    myplugin        = "mypackage.recipe_modules"
    myplugin_extra  = "mypackage.extra_modules"

    [project.entry-points."pyme.plugins.visgui"]
    myplugin = "mypackage.visgui_modules"

    [project.entry-points."pyme.plugins.dsviewer"]
    myplugin = "mypackage.dsviewer_modules"

    [project.entry-points."pyme.plugins.fit_factories"]
    myplugin = "mypackage.fit_factories"

The entry point name (left-hand side) is arbitrary and ignored by PYME; the value is the fully qualified module
path. An optional :attr suffix (e.g. mypackage.module:some_func) is accepted but only the module path is used.

@David-Baddeley

Copy link
Copy Markdown
Contributor Author

going to go ahead and merge this and re-release as there's a user waiting on the ch-shrinkwrap and the new ch-shrinkwrap installer already uses these endpoints.

@David-Baddeley
David-Baddeley merged commit bc525a3 into python-microscopy:master Aug 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant