Loading pkgs/development/python-modules/plotly/default.nix +18 −0 Original line number Diff line number Diff line Loading @@ -48,10 +48,28 @@ buildPythonPackage rec { hash = "sha256-7rMatpaZvHuNPpiXR5eUHultqNnLER1iW+GR3dwgkyo="; }; patches = [ # https://numpy.org/devdocs/release/2.4.0-notes.html#removed-interpolation-parameter-from-quantile-and-percentile-functions # Upstream PR: https://github.com/plotly/plotly.py/pull/5505 ./numpy-2.4-percentile-interpolation.patch # https://numpy.org/devdocs/release/2.4.0-notes.html#removed-numpy-in1d # Upstream PR: https://github.com/plotly/plotly.py/pull/5522 ./numpy-2.4-in1d.patch ]; postPatch = '' substituteInPlace pyproject.toml \ --replace-fail '"hatch", ' "" \ --replace-fail "jupyter_packaging~=0.10.0" jupyter_packaging # `pytest_ignore_collect` takes only `collection_path` starting with # pytest 9. Most of the paths referenced in `plotly/conftest.py` # don't exist anymore and wouldn't be collected anyway, so we can just # remove the file. # https://docs.pytest.org/en/latest/deprecations.html#py-path-local-arguments-for-hooks-replaced-with-pathlib-path # Upstream PR: https://github.com/plotly/plotly.py/pull/5521 rm plotly/conftest.py ''; env.SKIP_NPM = true; Loading pkgs/development/python-modules/plotly/numpy-2.4-in1d.patch 0 → 100644 +38 −0 Original line number Diff line number Diff line From 9531e7ff00be577560f2cebf6739343646d3c770 Mon Sep 17 00:00:00 2001 From: Tom Hunze <dev@thunze.de> Date: Mon, 23 Feb 2026 19:21:45 +0100 Subject: [PATCH] Use `np.isin` instead of `np.in1d` to fix numpy 2.4 test compatibility https://numpy.org/devdocs/release/2.4.0-notes.html#removed-numpy-in1d --- tests/test_optional/test_px/test_px.py | 2 +- tests/test_optional/test_px/test_px_functions.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_optional/test_px/test_px.py b/tests/test_optional/test_px/test_px.py index 6c65925a727..a74c4680540 100644 --- a/tests/test_optional/test_px/test_px.py +++ b/tests/test_optional/test_px/test_px.py @@ -36,7 +36,7 @@ def test_custom_data_scatter(backend): ) for data in fig.data: assert np.all( - np.in1d(data.customdata[:, 1], iris.get_column("petal_width").to_numpy()) + np.isin(data.customdata[:, 1], iris.get_column("petal_width").to_numpy()) ) # Hover and custom data, no repeated arguments fig = px.scatter( diff --git a/tests/test_optional/test_px/test_px_functions.py b/tests/test_optional/test_px/test_px_functions.py index 0814898f89d..8220ec7a33a 100644 --- a/tests/test_optional/test_px/test_px_functions.py +++ b/tests/test_optional/test_px/test_px_functions.py @@ -307,7 +307,7 @@ def test_sunburst_treemap_with_path_color(constructor): fig = px.sunburst( df.to_native(), path=path, color="sectors", color_discrete_map=cmap ) - assert np.all(np.in1d(fig.data[0].marker.colors, list(cmap.values()))) + assert np.all(np.isin(fig.data[0].marker.colors, list(cmap.values()))) # Numerical column in path df = ( pkgs/development/python-modules/plotly/numpy-2.4-percentile-interpolation.patch 0 → 100644 +17 −0 Original line number Diff line number Diff line diff --git a/plotly/figure_factory/_violin.py b/plotly/figure_factory/_violin.py index 55924e692..e89db0e11 100644 --- a/plotly/figure_factory/_violin.py +++ b/plotly/figure_factory/_violin.py @@ -17,9 +17,9 @@ def calc_stats(data): x = np.asarray(data, float) vals_min = np.min(x) vals_max = np.max(x) - q2 = np.percentile(x, 50, interpolation="linear") - q1 = np.percentile(x, 25, interpolation="lower") - q3 = np.percentile(x, 75, interpolation="higher") + q2 = np.percentile(x, 50, method="linear") + q1 = np.percentile(x, 25, method="lower") + q3 = np.percentile(x, 75, method="higher") iqr = q3 - q1 whisker_dist = 1.5 * iqr Loading
pkgs/development/python-modules/plotly/default.nix +18 −0 Original line number Diff line number Diff line Loading @@ -48,10 +48,28 @@ buildPythonPackage rec { hash = "sha256-7rMatpaZvHuNPpiXR5eUHultqNnLER1iW+GR3dwgkyo="; }; patches = [ # https://numpy.org/devdocs/release/2.4.0-notes.html#removed-interpolation-parameter-from-quantile-and-percentile-functions # Upstream PR: https://github.com/plotly/plotly.py/pull/5505 ./numpy-2.4-percentile-interpolation.patch # https://numpy.org/devdocs/release/2.4.0-notes.html#removed-numpy-in1d # Upstream PR: https://github.com/plotly/plotly.py/pull/5522 ./numpy-2.4-in1d.patch ]; postPatch = '' substituteInPlace pyproject.toml \ --replace-fail '"hatch", ' "" \ --replace-fail "jupyter_packaging~=0.10.0" jupyter_packaging # `pytest_ignore_collect` takes only `collection_path` starting with # pytest 9. Most of the paths referenced in `plotly/conftest.py` # don't exist anymore and wouldn't be collected anyway, so we can just # remove the file. # https://docs.pytest.org/en/latest/deprecations.html#py-path-local-arguments-for-hooks-replaced-with-pathlib-path # Upstream PR: https://github.com/plotly/plotly.py/pull/5521 rm plotly/conftest.py ''; env.SKIP_NPM = true; Loading
pkgs/development/python-modules/plotly/numpy-2.4-in1d.patch 0 → 100644 +38 −0 Original line number Diff line number Diff line From 9531e7ff00be577560f2cebf6739343646d3c770 Mon Sep 17 00:00:00 2001 From: Tom Hunze <dev@thunze.de> Date: Mon, 23 Feb 2026 19:21:45 +0100 Subject: [PATCH] Use `np.isin` instead of `np.in1d` to fix numpy 2.4 test compatibility https://numpy.org/devdocs/release/2.4.0-notes.html#removed-numpy-in1d --- tests/test_optional/test_px/test_px.py | 2 +- tests/test_optional/test_px/test_px_functions.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/test_optional/test_px/test_px.py b/tests/test_optional/test_px/test_px.py index 6c65925a727..a74c4680540 100644 --- a/tests/test_optional/test_px/test_px.py +++ b/tests/test_optional/test_px/test_px.py @@ -36,7 +36,7 @@ def test_custom_data_scatter(backend): ) for data in fig.data: assert np.all( - np.in1d(data.customdata[:, 1], iris.get_column("petal_width").to_numpy()) + np.isin(data.customdata[:, 1], iris.get_column("petal_width").to_numpy()) ) # Hover and custom data, no repeated arguments fig = px.scatter( diff --git a/tests/test_optional/test_px/test_px_functions.py b/tests/test_optional/test_px/test_px_functions.py index 0814898f89d..8220ec7a33a 100644 --- a/tests/test_optional/test_px/test_px_functions.py +++ b/tests/test_optional/test_px/test_px_functions.py @@ -307,7 +307,7 @@ def test_sunburst_treemap_with_path_color(constructor): fig = px.sunburst( df.to_native(), path=path, color="sectors", color_discrete_map=cmap ) - assert np.all(np.in1d(fig.data[0].marker.colors, list(cmap.values()))) + assert np.all(np.isin(fig.data[0].marker.colors, list(cmap.values()))) # Numerical column in path df = (
pkgs/development/python-modules/plotly/numpy-2.4-percentile-interpolation.patch 0 → 100644 +17 −0 Original line number Diff line number Diff line diff --git a/plotly/figure_factory/_violin.py b/plotly/figure_factory/_violin.py index 55924e692..e89db0e11 100644 --- a/plotly/figure_factory/_violin.py +++ b/plotly/figure_factory/_violin.py @@ -17,9 +17,9 @@ def calc_stats(data): x = np.asarray(data, float) vals_min = np.min(x) vals_max = np.max(x) - q2 = np.percentile(x, 50, interpolation="linear") - q1 = np.percentile(x, 25, interpolation="lower") - q3 = np.percentile(x, 75, interpolation="higher") + q2 = np.percentile(x, 50, method="linear") + q1 = np.percentile(x, 25, method="lower") + q3 = np.percentile(x, 75, method="higher") iqr = q3 - q1 whisker_dist = 1.5 * iqr