Merge updates from master

This commit is contained in:
Repository mirror & CI
2025-04-15 14:37:26 +00:00
10 changed files with 21 additions and 239 deletions

View File

@@ -13,7 +13,7 @@ SRC_URI="https://github.com/xtensor-stack/${PN}/archive/refs/tags/${PV}.tar.gz
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 arm ~arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
KEYWORDS="~amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc ~x86"
IUSE="doc test"
RESTRICT="!test? ( test )"

View File

@@ -116,7 +116,6 @@ src_prepare() {
python_compile() {
local DISTUTILS_USE_PEP517=$(usex rust maturin setuptools)
local DISTUTILS_UPSTREAM_PEP517=${DISTUTILS_USE_PEP517}
if ! use rust; then
cd c_impl || die

View File

@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="~amd64 ~arm64"
BDEPEND="
test? (

View File

@@ -1,2 +1 @@
DIST plotly.py-5.24.1.gh.tar.gz 32096988 BLAKE2B 79c1f3350bb43780f5f5f2f54955591875c2819a4b819e667e8df14ae72e42cf2939167a3425bd725e80af8823c8578a9cf286f4e4d82881578ca13f7e1cd860 SHA512 dc1484f5b0630bd4d936ab23231be7a577b887701f1f3c33d8f6501dc65718d871bee7af9f467fe130d2e7dcdded22717562352ce4ec70d25bc368faeb51d0e8
DIST plotly.py-6.0.1.gh.tar.gz 7619570 BLAKE2B 6c88b24d15aa233e1d3871975d224bd9829f1726beba665bc68a2d1af293361774b10a9d4a95ce2c5c53afe7ac01f7770809fbfbab3733ff31531233905c97f1 SHA512 192d5ea5e5d75548d9fbacc36d419b695d5e976ab0e2e538b1453c89ba3b1b0494abc4631d0d631cd6fe60a74b4a67937173564f9661aa408ffc1fc0bfac2559

View File

@@ -1,87 +0,0 @@
From 99df182e9171e9b9e81811447f37ace05acc9272 Mon Sep 17 00:00:00 2001
From: Ben Greiner <code@bnavigator.de>
Date: Sun, 2 Jun 2024 16:43:06 +0200
Subject: [PATCH 1/3] Remove np.nan and np.inf aliases no longer present in
numpy2
---
.../tests/test_optional/test_utils/test_utils.py | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/plotly/tests/test_optional/test_utils/test_utils.py b/plotly/tests/test_optional/test_utils/test_utils.py
index cf32e1bdff..d7d982e635 100644
--- a/plotly/tests/test_optional/test_utils/test_utils.py
+++ b/plotly/tests/test_optional/test_utils/test_utils.py
@@ -34,7 +34,7 @@
## JSON encoding
numeric_list = [1, 2, 3]
-np_list = np.array([1, 2, 3, np.NaN, np.NAN, np.Inf, dt(2014, 1, 5)])
+np_list = np.array([1, 2, 3, np.nan, np.inf, dt(2014, 1, 5)])
mixed_list = [
1,
"A",
@@ -45,7 +45,7 @@
dt_list = [dt(2014, 1, 5), dt(2014, 1, 5, 1, 1, 1), dt(2014, 1, 5, 1, 1, 1, 1)]
df = pd.DataFrame(
- columns=["col 1"], data=[1, 2, 3, dt(2014, 1, 5), pd.NaT, np.NaN, np.Inf]
+ columns=["col 1"], data=[1, 2, 3, dt(2014, 1, 5), pd.NaT, np.nan, np.inf]
)
rng = pd.date_range("1/1/2011", periods=2, freq="H")
@@ -184,7 +184,7 @@ def test_figure_json_encoding(self):
assert (
js1 == '{"type": "scatter3d", "x": [1, 2, 3], '
- '"y": [1, 2, 3, null, null, null, "2014-01-05T00:00:00"], '
+ '"y": [1, 2, 3, null, null, "2014-01-05T00:00:00"], '
'"z": [1, "A", "2014-01-05T00:00:00", '
'"2014-01-05T01:01:01", "2014-01-05T01:01:01.000001"]}'
)
@@ -195,9 +195,9 @@ def test_figure_json_encoding(self):
_json.dumps(figure, cls=utils.PlotlyJSONEncoder, sort_keys=True)
# Test data wasn't mutated
- np_array = np.array([1, 2, 3, np.NaN, np.NAN, np.Inf, dt(2014, 1, 5)])
+ np_array = np.array([1, 2, 3, np.nan, np.inf, dt(2014, 1, 5)])
for k in range(len(np_array)):
- if k in [3, 4]:
+ if k == 3:
# check NaN
assert np.isnan(np_list[k]) and np.isnan(np_array[k])
else:
@@ -237,7 +237,7 @@ def test_pandas_json_encoding(self):
# Test that data wasn't mutated
assert_series_equal(
df["col 1"],
- pd.Series([1, 2, 3, dt(2014, 1, 5), pd.NaT, np.NaN, np.Inf], name="col 1"),
+ pd.Series([1, 2, 3, dt(2014, 1, 5), pd.NaT, np.nan, np.inf], name="col 1"),
)
j2 = _json.dumps(df.index, cls=utils.PlotlyJSONEncoder)
From 23b50d9df805349674e11949459976fb338b3d76 Mon Sep 17 00:00:00 2001
From: Ben Greiner <code@bnavigator.de>
Date: Sun, 2 Jun 2024 16:48:34 +0200
Subject: [PATCH 2/3] Avoid putting 255 into int8 due to new numpy 2 type
promotion rules
---
.../plotly/plotly/tests/test_optional/test_px/test_imshow.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plotly/tests/test_optional/test_px/test_imshow.py b/plotly/tests/test_optional/test_px/test_imshow.py
index c2e863c846..d8f9ad98c7 100644
--- a/plotly/tests/test_optional/test_px/test_imshow.py
+++ b/plotly/tests/test_optional/test_px/test_imshow.py
@@ -341,7 +341,7 @@ def test_imshow_source_dtype_zmax(dtype, contrast_rescaling):
assert (
np.abs(
np.max(decode_image_string(fig.data[0].source))
- - 255 * img.max() / np.iinfo(dtype).max
+ - np.int64(255) * img.max() / np.iinfo(dtype).max
)
< 1
)

View File

@@ -1,119 +0,0 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
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}/packages/python/plotly"
# 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/packaging[${PYTHON_USEDEP}]
>=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/versioneer[${PYTHON_USEDEP}]
test? (
dev-python/ipykernel[${PYTHON_USEDEP}]
dev-python/ipython[${PYTHON_USEDEP}]
dev-python/ipywidgets[${PYTHON_USEDEP}]
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/requests[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
dev-python/scipy[${PYTHON_USEDEP}]
dev-python/shapely[${PYTHON_USEDEP}]
dev-python/statsmodels[${PYTHON_USEDEP}]
dev-python/xarray[${PYTHON_USEDEP}]
dev-python/scikit-image[${PYTHON_USEDEP}]
)
"
# There are sphinx docs but we are missing a bunch of dependencies.
# distutils_enable_sphinx ../../../doc/apidoc
distutils_enable_tests pytest
# README ends up a broken symlink
DOCS=()
python_prepare_all() {
local PATCHES=(
# https://github.com/plotly/plotly.py/pull/4622
"${FILESDIR}/${PN}-5.23.0-numpy-2.patch"
)
distutils-r1_python_prepare_all
# unbundle versioneer
rm versioneer.py || die
# Do not try to fetch stuff with npm
export SKIP_NPM=1
}
python_test() {
local EPYTEST_IGNORE=(
# kaleido not packaged
plotly/tests/test_optional/test_kaleido
# plotly-orca not packaged
plotly/tests/test_orca
)
local EPYTEST_DESELECT=(
# kaleido not packaged
plotly/tests/test_orca/test_to_image.py::test_bytesio
# 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
# Minor matplotlib incompatibility
plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
# TODO
plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json
# two subtests that require 'vaex' and 'polars' respectively
plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
# the usual recursion problem
plotly/tests/test_optional/test_utils/test_utils.py::test_masked_constants_example
)
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}
python_install_all() {
distutils-r1_python_install_all
mv "${ED}"/{usr/etc,etc} || die
}

View File

@@ -26,7 +26,7 @@ S="${WORKDIR}/${MY_P}"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="~amd64 ~arm64"
RDEPEND="
>=dev-python/narwhals-1.15.1[${PYTHON_USEDEP}]

View File

@@ -62,7 +62,6 @@ python_compile() {
if use native-extensions; then
local DISTUTILS_USE_PEP517=maturin
local DISTUTILS_UPSTREAM_PEP517=maturin
cd sqlglotrs || die
distutils-r1_python_compile
cd - >/dev/null || die

View File

@@ -154,10 +154,11 @@
# will be merged into ${D}.
# @ECLASS_VARIABLE: DISTUTILS_UPSTREAM_PEP517
# @DEFAULT_UNSET
# @DESCRIPTION:
# Specifies the PEP517 build backend used upstream. It is used
# by the eclass to verify the correctness of DISTUTILS_USE_PEP517,
# and matches DISTUTILS_USE_PEP517 by default. However, it can be
# and defaults to ${DISTUTILS_USE_PEP517}. However, it can be
# overriden to workaround the eclass check, when it is desirable
# to build the wheel using other backend than the one used upstream.
#
@@ -165,7 +166,6 @@
# be subtle differences between the behavior of different PEP517 build
# backends, for example regarding finding package files. When using
# this option, please make sure that the package is installed correctly.
: "${DISTUTILS_UPSTREAM_PEP517:=${DISTUTILS_USE_PEP517}}"
# @ECLASS_VARIABLE: DISTUTILS_USE_SETUPTOOLS
# @DEFAULT_UNSET
@@ -322,7 +322,7 @@ _distutils_set_globals() {
;;
setuptools)
bdep+='
>=dev-python/setuptools-75.8.2[${PYTHON_USEDEP}]
>=dev-python/setuptools-78.1.0[${PYTHON_USEDEP}]
'
;;
sip)
@@ -347,7 +347,7 @@ _distutils_set_globals() {
eqawarn "is enabled."
fi
else
local setuptools_dep='>=dev-python/setuptools-75.8.2[${PYTHON_USEDEP}]'
local setuptools_dep='>=dev-python/setuptools-78.1.0[${PYTHON_USEDEP}]'
case ${DISTUTILS_USE_SETUPTOOLS:-bdepend} in
no|manual)
@@ -388,6 +388,11 @@ _distutils_set_globals() {
DISTUTILS_DEPS=${bdep}
readonly DISTUTILS_DEPS
fi
else
eqawarn "distutils-r1.eclass legacy mode is deprecated and will be removed."
eqawarn "Please migrate your ebuilds to use DISTUTILS_USE_PEP517 (common values"
eqawarn "are 'setuptools' for packages using setuptools/distutils,"
eqawarn "and 'no' for packages using non-PEP517 build systems)."
fi
if [[ ! ${DISTUTILS_OPTIONAL} ]]; then
@@ -599,7 +604,7 @@ distutils_enable_sphinx() {
#
# - pytest: dev-python/pytest
#
# - setup.py: setup.py test (no deps included)
# - setup.py: setup.py test (no deps included; deprecated)
#
# - unittest: for built-in Python unittest module
#
@@ -645,14 +650,10 @@ distutils_enable_tests() {
fi
;;
setup.py)
eqawarn "'distutils_enable_tests setup.py' is deprecated and will be removed."
eqawarn "Please use unittest or pytest instead."
;;
unittest)
# unittest-or-fail is needed in py<3.12
local test_pkgs="$(python_gen_cond_dep '
dev-python/unittest-or-fail[${PYTHON_USEDEP}]
' 3.10 3.11
)"
[[ -n ${test_pkgs} ]] && test_deps+=" ${test_pkgs}"
;;
*)
die "${FUNCNAME}: unsupported argument: ${1}"
@@ -981,15 +982,6 @@ distutils-r1_python_prepare_all() {
if [[ ! ${DISTUTILS_USE_PEP517} ]]; then
_distutils-r1_disable_ez_setup
_distutils-r1_handle_pyproject_toml
case ${DISTUTILS_USE_SETUPTOOLS} in
no)
eqawarn "Non-PEP517 builds are deprecated for ebuilds using plain distutils."
eqawarn "Please migrate to DISTUTILS_USE_PEP517=setuptools."
eqawarn "Please see Python Guide for more details:"
eqawarn " https://projects.gentoo.org/python/guide/distutils.html"
;;
esac
fi
if [[ ${DISTUTILS_IN_SOURCE_BUILD} && ! ${DISTUTILS_SINGLE_IMPL} ]]
@@ -1164,7 +1156,10 @@ _distutils-r1_get_backend() {
fi
# verify that the ebuild correctly specifies the build backend
local expected_backend=$(_distutils-r1_key_to_backend "${DISTUTILS_UPSTREAM_PEP517}")
local expected_backend=$(
_distutils-r1_key_to_backend \
"${DISTUTILS_UPSTREAM_PEP517:-${DISTUTILS_USE_PEP517}}"
)
if [[ ${expected_backend} != ${build_backend} ]]; then
# special-case deprecated backends
case ${build_backend} in

View File

@@ -1481,7 +1481,7 @@ epytest() {
# @FUNCTION: eunittest
# @USAGE: [<args>...]
# @DESCRIPTION:
# Run unit tests using dev-python/unittest-or-fail, passing the standard
# Run unit tests using unittest, passing the standard
# set of options, followed by user-specified options.
#
# This command dies on failure and respects nonfatal.
@@ -1492,11 +1492,7 @@ eunittest() {
_python_check_occluded_packages
# unittest fails with "no tests" correctly since Python 3.12
local runner=unittest
if _python_impl_matches "${EPYTHON}" 3.{9..11}; then
runner=unittest_or_fail
fi
set -- "${EPYTHON}" -m "${runner}" discover -v "${@}"
set -- "${EPYTHON}" -m unittest discover -v "${@}"
echo "${@}" >&2
"${@}" || die -n "Tests failed with ${EPYTHON}"