From aa85070fe9b716a9731761a7dd363bdf4b6859f6 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Tue, 31 Mar 2020 22:40:27 +0200 Subject: [PATCH] Deprecate case-insensitive properties. As a real case, incorrectly passing "axA" instead of "axesA" to ConnectionPatch currently triggers a slightly confusing warning regarding the non-existence of the "axa" property. --- doc/api/api_changes_3.3/deprecations.rst | 7 +++++++ lib/matplotlib/artist.py | 7 ++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/api/api_changes_3.3/deprecations.rst b/doc/api/api_changes_3.3/deprecations.rst index 680f049249e3..920e208399c1 100644 --- a/doc/api/api_changes_3.3/deprecations.rst +++ b/doc/api/api_changes_3.3/deprecations.rst @@ -426,3 +426,10 @@ future. *minor* kwarg to `.Axis.get_ticklocs` will become keyword-only ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Passing this argument positionally is deprecated. + +Case-insensitive properties +~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Normalization of upper or mixed-case property names to lowercase in +`.Artist.set` and `.Artist.update` is deprecated. In the future, property +names will be passed as is, allowing one to pass names such as *patchA* or +*UVC*. diff --git a/lib/matplotlib/artist.py b/lib/matplotlib/artist.py index 035b87fa6251..b3778c9c1bbb 100644 --- a/lib/matplotlib/artist.py +++ b/lib/matplotlib/artist.py @@ -980,7 +980,12 @@ def update(self, props): ret = [] with cbook._setattr_cm(self, eventson=False): for k, v in props.items(): - k = k.lower() + if k != k.lower(): + cbook.warn_deprecated( + "3.3", message="Case-insensitive properties were " + "deprecated in %(since)s and support will be removed " + "%(removal)s") + k = k.lower() # White list attributes we want to be able to update through # art.update, art.set, setp. if k == "axes": pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy