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

Install plugins in existing session #2816

Open
mofojed opened this issue Sep 7, 2022 · 1 comment
Open

Install plugins in existing session #2816

mofojed opened this issue Sep 7, 2022 · 1 comment
Assignees
Labels
feature request New feature or request triage
Milestone

Comments

@mofojed
Copy link
Member

mofojed commented Sep 7, 2022

As a user of Deephaven, I want to be able to easily install plugins without having to configure Dockerfiles, or even restart my session.

E.g. If we could pip install the plugin within an existing session by running something like:

import os

os.system("pip install deephaven-plugin-matplotlib")

import deephaven.plugin.matplotlib
deephaven.plugin.matplotlib.register()

Or:

import os

os.system("pip install deephaven-plugin-matplotlib")

import deephaven.plugin
deephaven.plugin.auto_register_new()

It would make plugins much easier to install/use. Currently it requires pulling separate docker containers or modifying docker compose files, which is a bit of a pain.

Would also like to be able to install JS plugins similarly (though obviously wouldn't work via a pip install).

@mofojed mofojed added feature request New feature or request triage labels Sep 7, 2022
@devinrsmith
Copy link
Member

The relevant place to look at the current logic on startup is io.deephaven.server.plugin.PluginRegistration#registerAll. If we want this to be more dynamic, we essentially need to keep a ref to io.deephaven.server.plugin.PluginRegistrationVisitor and plumb dynamic registrations through that object.

If we want an auto-discovery method, it may be useful to consider adding this to ObjectService more generally:

service ObjectService {
    ...
    rpc AutoRegisterNew(AutoRegisterNewRequest) returns (AutoRegisterNewResponse) {}
}

@devinrsmith devinrsmith self-assigned this Sep 8, 2022
@devinrsmith devinrsmith added this to the Backlog milestone Sep 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request triage
Projects
None yet
Development

No branches or pull requests

2 participants