Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit aa85070

Browse files
committed
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.
1 parent ab2d200 commit aa85070

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

doc/api/api_changes_3.3/deprecations.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -426,3 +426,10 @@ future.
426426
*minor* kwarg to `.Axis.get_ticklocs` will become keyword-only
427427
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
428428
Passing this argument positionally is deprecated.
429+
430+
Case-insensitive properties
431+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
432+
Normalization of upper or mixed-case property names to lowercase in
433+
`.Artist.set` and `.Artist.update` is deprecated. In the future, property
434+
names will be passed as is, allowing one to pass names such as *patchA* or
435+
*UVC*.

lib/matplotlib/artist.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -980,7 +980,12 @@ def update(self, props):
980980
ret = []
981981
with cbook._setattr_cm(self, eventson=False):
982982
for k, v in props.items():
983-
k = k.lower()
983+
if k != k.lower():
984+
cbook.warn_deprecated(
985+
"3.3", message="Case-insensitive properties were "
986+
"deprecated in %(since)s and support will be removed "
987+
"%(removal)s")
988+
k = k.lower()
984989
# White list attributes we want to be able to update through
985990
# art.update, art.set, setp.
986991
if k == "axes":

0 commit comments

Comments
 (0)