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

Python Deephaven plugins don't work after deephaven_legacy rename #2172

Closed
niloc132 opened this issue Apr 1, 2022 · 1 comment · Fixed by #2174
Closed

Python Deephaven plugins don't work after deephaven_legacy rename #2172

niloc132 opened this issue Apr 1, 2022 · 1 comment · Fixed by #2174
Assignees
Labels
bug Something isn't working matplotlib python-server-side release blocker A bug/behavior that puts is below the "good enough" threshold to release.
Milestone

Comments

@niloc132
Copy link
Member

niloc132 commented Apr 1, 2022

Steps to reproduce:

  • in the docker container, run pip install deephaven-plugin
  • in the web IDE, run from deephaven.server.plugin.object import * to try to import these utils

Expected, no error occurs.

Actual:

java.lang.RuntimeException: Error in Python interpreter:
server_1      | Type: <class 'ModuleNotFoundError'>
server_1      | Value: No module named 'deephaven.Plot'
server_1      | Line: 5
server_1      | Namespace: <module>
server_1      | File: /opt/deephaven-venv/lib/python3.7/site-packages/deephaven/server/plugin/object/__init__.py
server_1      | Traceback (most recent call last):
server_1      |   File "<string>", line 1, in <module>
server_1      |   File "/opt/deephaven-venv/lib/python3.7/site-packages/deephaven/server/plugin/object/__init__.py", line 5, in <module>
server_1      | 
server_1      |         at org.jpy.PyLib.executeCode(PyLib.java:-2)
server_1      |         at org.jpy.PyObject.executeCode(PyObject.java:138)

You can also reproduce this by trying to use a plugin like matplotlib.

The bug is that pyintegration/deephaven/server/plugin/object/__init__.py references deephaven.Plot, which is now part of deephaven_legacy, which means that this code won't work with the new deephaven plots. The import for deephaven.Plot.figure_wrapper.FigureWrapper should be removed, as should the _unwrap method, and both replaced with the new ABC that allows for consistent unwrapping.

@niloc132 niloc132 added bug Something isn't working release blocker A bug/behavior that puts is below the "good enough" threshold to release. python-server-side matplotlib labels Apr 1, 2022
@niloc132 niloc132 added this to the Mar 2022 milestone Apr 1, 2022
@niloc132
Copy link
Member Author

niloc132 commented Apr 1, 2022

As an aside, it isn't clear to me why it is acceptable for deephaven.server.plugin.object to reference deephaven.plugin.object without actually depending on that wheel being installed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working matplotlib python-server-side release blocker A bug/behavior that puts is below the "good enough" threshold to release.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants