deephaven / deephaven-ipywidgets

Deephaven Community IPython Widget Library
BSD 3-Clause "New" or "Revised" License
4 stars 4 forks source link

The `deephaven-ipywidgets` package is dependent on the latest server version. #18

Closed jjbrosnan closed 8 months ago

jjbrosnan commented 1 year ago

Description

The Python package is dependent on the latest server version. This causes an issue for any user trying to use an older version (e.g. v0.23.0 - as of now the latest version is 0.24.0).

Steps to reproduce

Create a directory. Put the following three files in it:

First, Dockerfile:

FROM ghcr.io/deephaven/server:0.23.0
COPY requirements.txt /requirements.txt
RUN pip install -r /requirements.txt

Then, requirements.txt:

deephaven-ipywidgets

Lastly, an executable shell script (I call mine start.sh):

docker build --tag deephaven-examples/dh-widget-test .
docker compose up --build

Then, run ./start.sh.

Expected results

The Deephaven session to fire up.

Actual results

The session exits almost immediately with the following error:

test-deephaven-deephaven-1  | 2023-05-09T15:09:13.558Z | main                 |  INFO | i.d.e.util.jpy.JpyInit    | Started Python interpreter
test-deephaven-deephaven-1  | Initiating shutdown due to: Uncaught exception in thread main
test-deephaven-deephaven-1  | java.lang.RuntimeException: Error in Python interpreter:
test-deephaven-deephaven-1  | Type: <class 'ValueError'>
test-deephaven-deephaven-1  | Value: Java class 'io.deephaven.api.filter.FilterPattern' not found
test-deephaven-deephaven-1  | Line: 23
test-deephaven-deephaven-1  | Namespace: <module>
test-deephaven-deephaven-1  | File: /opt/deephaven/venv/lib/python3.10/site-packages/deephaven/filters.py

Additional details and attachments

FilterPattern wasn't added until DHC v0.24.0. Thus, the engine, stuck on v0.23.0, looks for something that doesn't exist to it yet. This version mismatch means any breaking change will cause DHC to fail.

Versions

chipkent commented 1 year ago

This is surprising. If you look at setup.py, you can see:

    install_requires = [
        'ipywidgets>=7.0.0',
        'deephaven-server>=0.16.0'
    ],
mofojed commented 8 months ago

Now it requires deephaven-server>=0.31.0: https://github.com/deephaven/deephaven-ipywidgets/blob/3e67848ff4e542ae70ec77444b10d315c821456e/setup.py#L96 That's the first version of core that had the embedded widget support. Closing this ticket.