diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest index 3cc828a18fa66..6651e589e98f7 100644 --- a/dev-python/plotly/Manifest +++ b/dev-python/plotly/Manifest @@ -1 +1,2 @@ DIST plotly.py-6.3.0.gh.tar.gz 10089966 BLAKE2B 1aed2cd325098fc06e39c0643e6cf6be330b60b50043ab625530fc51f6cf10d1302bc8335969ae115b445ca057b992b28c3a21e6634f7eca4e29fad7684e0084 SHA512 4923c78ca44388e17c36e00a4482c58d81deabe968a4b4d66da44d25abc8ee6ff10f28b11dfd18455abf8894478310e2872e6f10b358555c8a758958910dae98 +DIST plotly.py-6.3.1.gh.tar.gz 10209372 BLAKE2B 164e8c163767027e30e0feaabce7f509293b0b48fac73eac6f2ffb8ae2d1d4472f0aca2ad07edaa45b920c9137578ba10d7fbf0e44c630cfc30eb9d26e928dcb SHA512 cf15610eeea9eba4743f6c5468c9c92a6107616ab7879effe4908931143773d920fda27fd7335e82ade8eb20384014a0eac8c451719b63a354529255f3c441b4 diff --git a/dev-python/plotly/plotly-6.3.1.ebuild b/dev-python/plotly/plotly-6.3.1.ebuild new file mode 100644 index 0000000000000..54512a9a11e70 --- /dev/null +++ b/dev-python/plotly/plotly-6.3.1.ebuild @@ -0,0 +1,97 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..13} ) +DISTUTILS_USE_PEP517=setuptools + +inherit distutils-r1 + +MY_P=plotly.py-${PV/_} +DESCRIPTION="Browser-based graphing library for Python" +HOMEPAGE=" + https://plotly.com/python/ + https://github.com/plotly/plotly.py/ + https://pypi.org/project/plotly/ +" +SRC_URI=" + https://github.com/plotly/plotly.py/archive/refs/tags/v${PV/_}.tar.gz + -> ${MY_P}.gh.tar.gz +" +S="${WORKDIR}/${MY_P}" +# The tests are not included in the PyPI tarball, to use the GitHub tarball +# we have to skip npm, which means that the resulting install will +# unfortunately lack the jupyterlab extension. + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64 ~arm64" + +RDEPEND=" + >=dev-python/narwhals-1.15.1[${PYTHON_USEDEP}] + dev-python/packaging[${PYTHON_USEDEP}] +" +BDEPEND=" + test? ( + dev-python/jupyter[${PYTHON_USEDEP}] + dev-python/jupyterlab[${PYTHON_USEDEP}] + dev-python/matplotlib[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pandas[${PYTHON_USEDEP}] + dev-python/pillow[${PYTHON_USEDEP}] + dev-python/psutil[${PYTHON_USEDEP}] + dev-python/pytz[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + dev-python/scikit-image[${PYTHON_USEDEP}] + dev-python/scipy[${PYTHON_USEDEP}] + dev-python/statsmodels[${PYTHON_USEDEP}] + dev-python/xarray[${PYTHON_USEDEP}] + ) +" + +# There are sphinx docs but we are missing a bunch of dependencies. +# distutils_enable_sphinx ../../../doc/apidoc + +EPYTEST_PLUGINS=() +EPYTEST_XDIST=1 +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + # requires polars + tests/test_optional/test_px + + # requires kaleido + tests/test_optional/test_kaleido/test_kaleido.py +) + +EPYTEST_DESELECT=( + # requires polars + 'tests/test_plotly_utils/validators/test_fig_deepcopy.py::test_deepcopy_dataframe[polars]' + + # require anywidgets + 'tests/test_io/test_to_from_json.py::test_from_json_output_type[FigureWidget-FigureWidget0]' + 'tests/test_io/test_to_from_json.py::test_from_json_output_type[FigureWidget-FigureWidget1]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_filelike[FigureWidget-FigureWidget0]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_filelike[FigureWidget-FigureWidget1]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_pathlib[FigureWidget-FigureWidget0]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_pathlib[FigureWidget-FigureWidget1]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_file_string[FigureWidget-FigureWidget0]' + 'tests/test_io/test_to_from_json.py::test_read_json_from_file_string[FigureWidget-FigureWidget1]' + + # minor matplotlib incompatibility + plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots + plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle + + # fails in non-isolated env + test_init/test_dependencies_not_imported.py::test_dependencies_not_imported + test_init/test_lazy_imports.py::test_lazy_imports + + # TODO + 'tests/test_plotly_utils/validators/test_colorscale_validator.py::test_acceptance_named[Inferno_r]' +) + +src_configure() { + # Do not try to fetch stuff with npm + export SKIP_NPM=1 +}