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

Support plotly 6 #334

Open
kszlim opened this issue Feb 5, 2025 · 2 comments
Open

Support plotly 6 #334

kszlim opened this issue Feb 5, 2025 · 2 comments

Comments

@kszlim
Copy link

kszlim commented Feb 5, 2025

Currently due to https://github.com/predict-idlab/plotly-resampler/blob/main/pyproject.toml#L39 any dependency resolution will fix plotly at 5. It'd be nice if the next release supported plotly 6 (it might just work out of the box, might be worth testing relaxation of the dependency constraint).

@jonasvdd
Copy link
Member

jonasvdd commented Feb 6, 2025

Hi @kszlim,

Thank you for your suggestion.
It appears that plotly-6.0.0 requires python>=3.8, so we would need to drop python 3.7 support in newer versions of plotly-resampler (which is rather fair, as python3.7 is also dropped in newer versions of tsdownsample).

Moreover, Dash>2.11 appears to include the behavior we served via the jupyterdash package, also requiring a large rework.

I can look into this tomorrow and provide a better estimate of how much work this would take up.

@jonasvdd jonasvdd mentioned this issue Feb 15, 2025
@jonasvdd jonasvdd marked this as a duplicate of #329 Feb 19, 2025
jonasvdd added a commit that referenced this issue Feb 21, 2025
* Parametrize test_utils.py on is_figure

* 🔍 remove dtype parsing as orjon>3.10 supports float16 #118

* 💪 refactor: streamline JupyterDash integration and remove unused persistent inline logic

* 💨 move construct_update_data_patch method into the FigureResampler class

* 🐐 refactor: enhance test utilities and add support for Plotly>=6 data handling

* 🙏 enhance serialization tests for plotly>6

* 📝 remove debug print statement and enhance type handling for hf_x

* 🔒 update dependency versions in pyproject.toml to Support plotly 6 #334

* 🔍 drop python3.7 CI workflow and upgrade upload-artifact action

* 🙏 fix pickling of figurewidget resampler

* 🙏 fix tests

* 💨 migration of code towards new upload artifact

* 💪 enhance CI workflow to improve test result uploads and add retention settings

* 🕳️ fix: ensure correct dtype handling for aggregated x indices in PlotlyAggregatorParser

* ⬆️ chore: update dependency constraints for pandas and pyarrow in pyproject.toml

* 🙈 fix linting

* 🔍 fix: correct spelling in streamlit_app.py comments and update dash-extensions and pyarrow versions in requirements.txt

* ⬆️ chore: update ipywidgets version constraint to allow for newer versions

* 🚧 test: set random seed for reproducibility in test_wrap_aggregate

* 🙈 chore: update ipywidgets version constraint for serialization support

* 🙈

* 🔍 ci: conditionally skip tests on Python 3.12 for Ubuntu (as it keeps hanging in github actions)

* 🔍 ci: exclude Python 3.12 on Ubuntu from test matrix to prevent hangs

* 🖊️ review code

* 🧹 cleanup comments

---------

Co-authored-by: Maxim Ivanov <[email protected]>
Co-authored-by: jeroen <[email protected]>
@jonasvdd
Copy link
Member

Fixed in #338, will be closed after a new release.

jonasvdd added a commit that referenced this issue Mar 6, 2025
* fix: check if update_data contains update before batch_update

* add test + avoid same error when verbose=True

* 🧹 create _hf_data_container if correct trace type

* 🙏 python 3.7 not supported on Apple Silicon

* remove WIP

* 🖊️ more verbose asserts

* 🖊️ more verbose asserts

* 🙏 more sleep time

* 🙏

* 🙌

* 🤔 fix for [BUG] Error handling timezones #305

* 🙈 linting

* 💨 Refactor timezone handling in PlotlyAggregatorParser

* Update minmax operator image

Signed-off-by: Emmanuel Ferdman <[email protected]>

* Drop duplicate sentence

* Feat/plotly6 (#338)

* Parametrize test_utils.py on is_figure

* 🔍 remove dtype parsing as orjon>3.10 supports float16 #118

* 💪 refactor: streamline JupyterDash integration and remove unused persistent inline logic

* 💨 move construct_update_data_patch method into the FigureResampler class

* 🐐 refactor: enhance test utilities and add support for Plotly>=6 data handling

* 🙏 enhance serialization tests for plotly>6

* 📝 remove debug print statement and enhance type handling for hf_x

* 🔒 update dependency versions in pyproject.toml to Support plotly 6 #334

* 🔍 drop python3.7 CI workflow and upgrade upload-artifact action

* 🙏 fix pickling of figurewidget resampler

* 🙏 fix tests

* 💨 migration of code towards new upload artifact

* 💪 enhance CI workflow to improve test result uploads and add retention settings

* 🕳️ fix: ensure correct dtype handling for aggregated x indices in PlotlyAggregatorParser

* ⬆️ chore: update dependency constraints for pandas and pyarrow in pyproject.toml

* 🙈 fix linting

* 🔍 fix: correct spelling in streamlit_app.py comments and update dash-extensions and pyarrow versions in requirements.txt

* ⬆️ chore: update ipywidgets version constraint to allow for newer versions

* 🚧 test: set random seed for reproducibility in test_wrap_aggregate

* 🙈 chore: update ipywidgets version constraint for serialization support

* 🙈

* 🔍 ci: conditionally skip tests on Python 3.12 for Ubuntu (as it keeps hanging in github actions)

* 🔍 ci: exclude Python 3.12 on Ubuntu from test matrix to prevent hangs

* 🖊️ review code

* 🧹 cleanup comments

---------

Co-authored-by: Maxim Ivanov <[email protected]>
Co-authored-by: jeroen <[email protected]>

* 🤔 fix for [BUG] Error handling timezones #305

* 🙈 linting

* 💨 Refactor timezone handling in PlotlyAggregatorParser

* 📌 bug: Fix timezone handling for DST in PlotlyAggregatorParser and update tests

---------

Signed-off-by: Emmanuel Ferdman <[email protected]>
Co-authored-by: jvdd <[email protected]>
Co-authored-by: Jeroen Van Der Donckt <[email protected]>
Co-authored-by: Emmanuel Ferdman <[email protected]>
Co-authored-by: Maxim Ivanov <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants