Skip to content

Register plugins through entry points #80

Open

Description

@jlumpe

Have you considered making plugins able to be registered through the entry point system?

The plugin author could simply add something like the following to pyproject.toml:

[project.entry-points."snakemake.logger"]
mylogger = "mypackage.pluginmodule:LogHandler"

This would not require the package to have a specific name/structure and would also work with editable installs, making development easier.

I'd be happy to contribute a PR if people think it would be a good feature.

Activity

  1. cademirch commented on Nov 25, 2025

    @cademirch

    I think this is a good idea. But, it would have to likely work alongside the existing system, to make time for migration for all plugins.

  2. jlumpe commented on Dec 8, 2025

    @jlumpe
    Author

    Implemented in #87

  3. jlumpe commented on Jan 8, 2026

    @jlumpe
    Author

    Here are some of the possible advantages of using the entry point system:

    • Makes development easier by supporting editable installs.
    • Allows you to put the plugin contents in a submodule instead of requiring it be at the root of the package, which is useful if your package also does other things.
    • Less restrictive if you're developing an extension for private use (or if it's in the early stages, before you have to choose an "official" name).

    The explicit naming could still be required for plugins that are listed in the official registry.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions