-
Notifications
You must be signed in to change notification settings - Fork 80
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 for pandas dataframes and JS API/UI support #1942
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Think there is room for further discussion in team channels.
@@ -20,7 +20,7 @@ RUN set -eux; \ | |||
|
|||
COPY deephaven-wheel/ /deephaven-wheel | |||
RUN set -eux; \ | |||
python -m pip install -q --no-index --no-cache-dir /deephaven-wheel/*.whl; \ | |||
python -m pip install -q --no-cache-dir /deephaven-wheel/*.whl; \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For final version, we shouldn't be checking in this change. If deephaven-plugin remains external, we'd need to update the deephaven base images as appropriate.
from deephaven.python_to_java import dataFrameToTable | ||
from deephaven.plugin.object import Exporter, ObjectType | ||
from pandas import DataFrame |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We have a choice - this pandas plugin could be completely external (like how the matplotlib plugin lives today). The bad part about that right now is that it has knowledge about "deephaven.python_to_java", and potentially other aspects of Integrations. That said, if we are trying to move to be better "python as a deephaven library", we should be trying to move towards publishing the python integration points as PyPi packages.
Integrations/python/setup.py
Outdated
@@ -55,6 +55,12 @@ def normalize_version(ver): | |||
keywords='Deephaven Development', | |||
packages=find_packages(exclude=['docs', 'test']), | |||
install_requires=['deephaven-jpy=={}'.format(__normalized_version__), | |||
'numpy', 'dill>=0.2.8', 'wrapt', 'pandas', 'numba;python_version>"3.0"', | |||
'enum34;python_version<"3.4"'], | |||
'deephaven-plugin==0.0.1.dev5', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we had deephaven-plugin-pandas external, we could specify it here instead of deephaven-plugin.
Either way, we've tended to put the hard version requirements as part of our docker/**/requirements.txt files as opposed to here in the setup.py.
199c4e1
to
427473f
Compare
427473f
to
6cc0884
Compare
1a68f0c
to
dc1d862
Compare
dc1d862
to
7e7852d
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe we can use a dict for entry_points
Testing process, run this python code in the java-run server:
expected, a table shows up with |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, assuming you've tested in console with your latest change.
This is a draft for now, hoping for feedback on how to allow python plugins to be built-in.
Fixes #741