Describe the bug
openseries 2.1.9 cannot be imported when Plotly 7.0.0 is installed. _common_model.py imports create_distplot from plotly.figure_factory at module load time, but that function was removed in Plotly 7.
The declared dependency is plotly>=5.18.0 with no upper bound, so a fresh install (or lockfile update) now resolves Plotly 7.0.0 and the package fails before any openseries API is used.
To Reproduce
- Install
openseries==2.1.9 with plotly==7.0.0 (for example via pip install openseries plotly after Plotly 7.0.0 was released).
- Run:
from openseries import OpenTimeSeries
Expected behavior
openseries imports successfully, and plot_histogram(..., plot_type="lines") still works.
Actual behavior
ImportError: cannot import name 'create_distplot' from 'plotly.figure_factory'
Traceback:
File ".../openseries/__init__.py", line 13, in <module>
from .frame import OpenFrame
File ".../openseries/frame.py", line 52, in <module>
from ._common_model import _calculate_time_factor, _CommonModel, _get_base_column_data
File ".../openseries/_common_model.py", line 61, in <module>
from plotly.figure_factory import create_distplot
ImportError: cannot import name 'create_distplot' from 'plotly.figure_factory'
Environment
- openseries 2.1.9
- plotly 7.0.0
- Python 3.14 (also expected on 3.11–3.13)
- macOS
Additional Information
Plotly 7.0.0 (released 2026-08-25) removed several deprecated Figure Factory helpers, including create_distplot:
https://github.com/plotly/plotly.py/releases/tag/v7.0.0
The import is here:
https://github.com/CaptorAB/openseries/blob/master/openseries/_common_model.py#L61
It is used in plot_histogram when plot_type == "lines":
https://github.com/CaptorAB/openseries/blob/master/openseries/_common_model.py#L1440
Suggested fixes:
- Cap the dependency immediately:
plotly>=5.18.0,<7.
- Replace
create_distplot with a Plotly Express / graph-objects equivalent (Plotly recommends plotly.express.histogram with marginal="rug").
- Optionally lazy-import the plotting helper so a Plotly 7 install does not break
from openseries import OpenTimeSeries even before plot_histogram is called.
Until this is released, downstream projects can work around it with plotly>=5.18.0,<7.
Describe the bug
openseries2.1.9 cannot be imported when Plotly 7.0.0 is installed._common_model.pyimportscreate_distplotfromplotly.figure_factoryat module load time, but that function was removed in Plotly 7.The declared dependency is
plotly>=5.18.0with no upper bound, so a fresh install (or lockfile update) now resolves Plotly 7.0.0 and the package fails before anyopenseriesAPI is used.To Reproduce
openseries==2.1.9withplotly==7.0.0(for example viapip install openseries plotlyafter Plotly 7.0.0 was released).Expected behavior
openseriesimports successfully, andplot_histogram(..., plot_type="lines")still works.Actual behavior
Traceback:
Environment
Additional Information
Plotly 7.0.0 (released 2026-08-25) removed several deprecated Figure Factory helpers, including
create_distplot:https://github.com/plotly/plotly.py/releases/tag/v7.0.0
The import is here:
https://github.com/CaptorAB/openseries/blob/master/openseries/_common_model.py#L61
It is used in
plot_histogramwhenplot_type == "lines":https://github.com/CaptorAB/openseries/blob/master/openseries/_common_model.py#L1440
Suggested fixes:
plotly>=5.18.0,<7.create_distplotwith a Plotly Express / graph-objects equivalent (Plotly recommendsplotly.express.histogramwithmarginal="rug").from openseries import OpenTimeSerieseven beforeplot_histogramis called.Until this is released, downstream projects can work around it with
plotly>=5.18.0,<7.