Matej Cepl
6bd76f45cf
- Update to version 5.3.0 * Added legend.groupclick options * Provide bbox of hover items in event data - Release 5.0.0 * Updated/Changed: Items in this section may be considered backwards-incompatible changes for the purposes of Semantic Versioning but we expect the vast majority of users to be able to upgrade to version 5.0 without encountering any issues. * Dropped support for Python older than 3.6 #3160 * Updated Plotly.js to from version 1.58.4 to version 2.1.0. See the plotly.js CHANGELOG for more information. These changes are reflected in the auto-generated plotly.graph_objects module. Notable changes include: * dropped support for IE9 and IE10 * dropped support for long-deprecated graph_objects like area traces and scatter.(t|r) and layout.(radial|angular)axis attributes * modebar no longer has hovermode or spikeline buttons by default (can be added back with fig.update_layout(modebar_add= ["v1hovermode", "toggleSpikeLines"])) * "Aa" text no longer appears on legend items unless mode="text" * In bar traces, textposition now defaults to "auto" * Font size for legend and colorbar titles now matches axis title font size (slightly bigger) * deprecated heatmapgl, pointcloud traces as well as all transform attributes * Combined plotlywidget into jupyterlab-plotly and packaged them as a federated extension #3142 with massive thanks to @fcollonval for the contribution * In addition to this change, large Plotly.js bundles are now lazily loaded on-demand by JupyterLab * Plotly.js CDN url will now be versioned by default for HTML exports using include_plotlyjs='cdn' and for "connected" renderers. #2961 with thanks to @adehad for the contribution * Recommending Kaleido by default over Orca #3094 * Replaced retrying dependency with tenacity #2911 with thanks to @jmsmdy for the contribution * Plotly Express now always takes into account every value in c category_orders when computing discrete mappings (color, symbol, line-dash, pattern-shapes) as well as facets, even those values which are absent in the data #3247 - Fix rpmlint errors: touch __init__.py mtime before deduplicating the compile cache files - Enable tests: * core test suite for all flavores * optional requirements test suite for all except python36 flavor -- many optional requirements are not available OBS-URL: https://build.opensuse.org/request/show/915453 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:numeric/python-plotly?expand=0&rev=43
160 lines
6.5 KiB
RPMSpec
160 lines
6.5 KiB
RPMSpec
#
|
|
# spec file for package python-plotly
|
|
#
|
|
# Copyright (c) 2021 SUSE LLC
|
|
#
|
|
# All modifications and additions to the file contributed by third parties
|
|
# remain the property of their copyright owners, unless otherwise agreed
|
|
# upon. The license for this file, and modifications and additions to the
|
|
# file, is the same license as for the pristine package itself (unless the
|
|
# license for the pristine package is not an Open Source License, in which
|
|
# case the license is the MIT License). An "Open Source License" is a
|
|
# license that conforms to the Open Source Definition (Version 1.9)
|
|
# published by the Open Source Initiative.
|
|
|
|
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
|
|
%define skip_python2 1
|
|
Name: python-plotly
|
|
Version: 5.3.0
|
|
Release: 0
|
|
Summary: Library for collaborative, interactive, publication-quality graphs
|
|
License: MIT
|
|
URL: https://github.com/plotly/plotly.py
|
|
# Get the PyPI archive for the bundles JS files
|
|
Source: https://files.pythonhosted.org/packages/source/p/plotly/plotly-%{version}.tar.gz
|
|
# Additionally use the GitHub archive for the test suite
|
|
Source1: https://github.com/plotly/plotly.py/archive/refs/tags/v%{version}.tar.gz#/plotly.py-%{version}-gh.tar.gz
|
|
Source100: python-plotly-rpmlintrc
|
|
BuildRequires: %{python_module setuptools}
|
|
BuildRequires: %{python_module six >= 1.15.0}
|
|
BuildRequires: %{python_module tenacity >= 6.2.0}
|
|
BuildRequires: fdupes
|
|
BuildRequires: jupyter-jupyter_core-filesystem
|
|
BuildRequires: python-rpm-macros
|
|
Requires: python-six >= 1.15.0
|
|
Requires: python-tenacity >= 6.2.0
|
|
Recommends: python-ipython
|
|
Recommends: python-matplotlib >= 2.2.2
|
|
Recommends: python-numpy
|
|
Recommends: python-pandas
|
|
Recommends: python-scipy
|
|
BuildArch: noarch
|
|
# SECTION test requirements
|
|
BuildRequires: %{python_module pytest}
|
|
BuildRequires: %{python_module requests}
|
|
BuildRequires: %{python_module Pillow if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module Shapely if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module ipykernel if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module ipython if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module ipywidgets if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module jupyter if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module matplotlib if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module numpy if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module pandas if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module psutil if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module pyshp if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module pytz if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module scikit-image if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module scipy if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module statsmodels if (%python-base without python36-base)}
|
|
BuildRequires: %{python_module xarray if (%python-base without python36-base)}
|
|
# /SECTION
|
|
%python_subpackages
|
|
|
|
%description
|
|
Use this package to make collaborative, interactive,
|
|
publication-quality graphs from Python on https://plot.ly.
|
|
|
|
Plotly is an online collaborative data analysis and graphing tool. The
|
|
Python API allows you to access all of Plotly's functionality from Python.
|
|
Plotly figures are shared, tracked, and edited all online and the data is
|
|
always accessible from the graph.
|
|
|
|
%package jupyter
|
|
Summary: Jupyter notebook integration for %{name}
|
|
Provides: python-jupyterlab-plotly = %{version}-%{release}
|
|
Requires: %{name} = %{version}
|
|
Requires: jupyter-plotly = %{version}
|
|
Requires: python-ipywidgets >= 7.6
|
|
Requires: (python-jupyterlab or python-notebook)
|
|
|
|
%description jupyter
|
|
Use this package to make collaborative, interactive,
|
|
publication-quality graphs from Python on https://plot.ly.
|
|
|
|
Plotly is an online collaborative data analysis and graphing tool. The
|
|
Python API allows you to access all of Plotly's functionality from Python.
|
|
Plotly figures are shared, tracked, and edited all online and the data is
|
|
always accessible from the graph.
|
|
|
|
This package provides Jupyterlab and Notebook integration and widgets.
|
|
|
|
%package -n jupyter-plotly
|
|
Summary: Jupyter notebook integration for %{name}
|
|
Provides: jupyterlab-plotly = %{version}-%{release}
|
|
Requires: python3-plotly-jupyter = %{version}
|
|
|
|
%description -n jupyter-plotly
|
|
Use this package to make collaborative, interactive,
|
|
publication-quality graphs from Python on https://plot.ly.
|
|
|
|
Plotly is an online collaborative data analysis and graphing tool. The
|
|
Python API allows you to access all of Plotly's functionality from Python.
|
|
Plotly figures are shared, tracked, and edited all online and the data is
|
|
always accessible from the graph.
|
|
|
|
This package provides the flavorless configuration for the
|
|
Jupyterlab and Notebook integration and widgets.
|
|
|
|
%prep
|
|
%setup -q -n plotly-%{version} -b 1
|
|
# remove script interpreter line in non-executable script
|
|
sed -i '1{/env python/ d}' _plotly_utils/png.py
|
|
# homogenize mtime of all __init__.py files for deduplicated compile cache consistency
|
|
find . -name __init__.py -exec touch -m -r plotly/__init__.py '{}' ';'
|
|
|
|
%build
|
|
%python_build
|
|
|
|
%install
|
|
%python_install
|
|
%jupyter_move_config
|
|
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
|
%fdupes %{buildroot}%{_jupyter_prefix}
|
|
|
|
%check
|
|
# No test suite in the PyPI package, which is required for the bundled JS files, go to the GitHub repo tree now.
|
|
cd ../plotly.py-%{version}/packages/python/plotly
|
|
%{pytest plotly/tests/test_core
|
|
# cleanup between flavor runs
|
|
rm plotly/tests/test_core/test_offline/plotly.min.js
|
|
}
|
|
# most of the optional packages are not available on python36: skip entire test suite
|
|
python36_skip="-V"
|
|
# not available
|
|
donttest="test_kaleido"
|
|
# API parameter mismatches and precision errors
|
|
donttest+=" or test_matplotlylib"
|
|
%pytest ${$python_skip} plotly/tests/test_optional -k "not ($donttest)"
|
|
|
|
%files %{python_files}
|
|
%license LICENSE.txt
|
|
%{python_sitelib}/_plotly_future_/
|
|
%{python_sitelib}/_plotly_utils/
|
|
%{python_sitelib}/plotly/
|
|
%{python_sitelib}/plotly-%{version}-py*.egg-info
|
|
|
|
%files %{python_files jupyter}
|
|
%license LICENSE.txt
|
|
%{python_sitelib}/jupyterlab_plotly
|
|
|
|
%files -n jupyter-plotly
|
|
%license LICENSE.txt
|
|
%config %{_jupyter_nb_notebook_confdir}/jupyterlab-plotly.json
|
|
|
|
%changelog
|