I am seeing warnings like
<ipython-input-4-1eb00ff78cf2>:1: MatplotlibDeprecationWarning: The x parameter as float was deprecated in Matplotlib 3.10 and will be removed in 3.12. Use int(x) instead.
plt.show()
<ipython-input-4-1eb00ff78cf2>:1: MatplotlibDeprecationWarning: The y parameter as float was deprecated in Matplotlib 3.10 and will be removed in 3.12. Use int(y) instead.
plt.show()
that come out on every draw ever for the simplest of plots (e.g. plt.gac(); plt.show()).
These are coming from
|
if (auto value = std::get_if<double>(&vx)) { |
|
auto api = py::module_::import("matplotlib._api"); |
|
auto warn = api.attr("warn_deprecated"); |
|
warn("since"_a="3.10", "name"_a="x", "obj_type"_a="parameter as float", |
|
"alternative"_a="int(x)"); |
|
x = static_cast<int>(*value); |
|
} else if (auto value = std::get_if<int>(&vx)) { |
|
x = *value; |
|
} else { |
|
throw std::runtime_error("Should not happen"); |
|
} |
|
|
|
if (auto value = std::get_if<double>(&vy)) { |
|
auto api = py::module_::import("matplotlib._api"); |
|
auto warn = api.attr("warn_deprecated"); |
|
warn("since"_a="3.10", "name"_a="y", "obj_type"_a="parameter as float", |
|
"alternative"_a="int(y)"); |
|
y = static_cast<int>(*value); |
|
} else if (auto value = std::get_if<int>(&vy)) { |
|
y = *value; |
|
} else { |
|
throw std::runtime_error("Should not happen"); |
|
} |
these warnings triggering are due to a change in pybind11 (only see this with their development branch) and which I bisected to
e8e8d6ab22f39938607f31d457d4d359c130f078 is the first bad commit
commit e8e8d6ab22f39938607f31d457d4d359c130f078
Author: Michael Carlstrom <[email protected]>
Date: Mon Feb 16 23:00:01 2026 -0800
which came in via
|
if (auto value = std::get_if<double>(&vx)) { |
|
auto api = py::module_::import("matplotlib._api"); |
|
auto warn = api.attr("warn_deprecated"); |
|
warn("since"_a="3.10", "name"_a="x", "obj_type"_a="parameter as float", |
|
"alternative"_a="int(x)"); |
|
x = static_cast<int>(*value); |
|
} else if (auto value = std::get_if<int>(&vx)) { |
|
x = *value; |
|
} else { |
|
throw std::runtime_error("Should not happen"); |
|
} |
|
|
|
if (auto value = std::get_if<double>(&vy)) { |
|
auto api = py::module_::import("matplotlib._api"); |
|
auto warn = api.attr("warn_deprecated"); |
|
warn("since"_a="3.10", "name"_a="y", "obj_type"_a="parameter as float", |
|
"alternative"_a="int(y)"); |
|
y = static_cast<int>(*value); |
|
} else if (auto value = std::get_if<int>(&vy)) { |
|
y = *value; |
|
} else { |
|
throw std::runtime_error("Should not happen"); |
|
} |
pybind/pybind11#5879
We either need to sort out how to adjust the pybind11 code or remove this warning.
I am seeing warnings like
that come out on every draw ever for the simplest of plots (e.g.
plt.gac(); plt.show()).These are coming from
matplotlib/src/_backend_agg_wrapper.cpp
Lines 68 to 90 in 59eafb8
these warnings triggering are due to a change in pybind11 (only see this with their development branch) and which I bisected to
which came in via
matplotlib/src/_backend_agg_wrapper.cpp
Lines 68 to 90 in 59eafb8
pybind/pybind11#5879
We either need to sort out how to adjust the pybind11 code or remove this warning.