Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin management engine #2

Open
modora opened this issue Dec 16, 2017 · 0 comments
Open

Plugin management engine #2

modora opened this issue Dec 16, 2017 · 0 comments

Comments

@modora
Copy link
Owner

modora commented Dec 16, 2017

Currently, yapsy is used as the plugin manager. I'd like to switch out the manager to allow for plugins to import other plugins as dependencies. In the current implementation, you would have to assume the namespace of the dependents. This is easily broken if the plugins are not installed in the correct location (yapsy allows for plugins to be installed in any location within the entry points, including subdirectories).

Here are a list of candidate replacements

  1. Stevedore
  2. Pluginbase

Stevedore looks to be the prime candidate. Pluginbase lets you import by namespace but I am unsure how it discovers plugins. My issue with stevedore is that you have to configure options in the setup function of setuptools. This is more of a learning curve and I can probably make a template in the future.

Yapsy is great because it "just works" (minus the weird quirks it has). Importing a plugin requires that the plugin object be a subclass of one of the specified categories (a feature I love) and has a yapsy-plugin file. This file is a simple ini file that I can just template. If I can get another plugin candidate to be as simple as this, then I would like to implement in a future release

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

No branches or pull requests

1 participant