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

Skip to content

Do not lowercase module:// backends #28473

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 27, 2024
Merged

Conversation

ksunden
Copy link
Member

@ksunden ksunden commented Jun 26, 2024

Closes #28432

PR summary

This adds checks to avoid changing cases of module:// names.
Entry point names and default names will still be normalized.

Adds a test to ensure loading is case sensitive as well as a unit test of the normalization function (which is private, but fairly central)

PR checklist

@QuLogic QuLogic added this to the v3.9.1 milestone Jun 27, 2024
@QuLogic QuLogic merged commit b94f1ce into matplotlib:main Jun 27, 2024
48 checks passed
meeseeksmachine pushed a commit to meeseeksmachine/matplotlib that referenced this pull request Jun 27, 2024
QuLogic added a commit that referenced this pull request Jun 28, 2024
…473-on-v3.9.x

Backport PR #28473 on branch v3.9.x (Do not lowercase module:// backends)
@ianthomas23
Copy link
Member

Corresponding change in IPython is ipython/ipython#14475.

Carreau added a commit to ipython/ipython that referenced this pull request Aug 30, 2024
This is something I missed as part of moving the backend resolution to
Matplotlib. Since version 3.9.0 Matplotlib handles the case-sensitivity
of backend names, making them all lowercase for internal use. But since
matplotlib/matplotlib#28473 uppercase letters are allowed in backend
names of the form `module://soMe_moDule.sOmE_NAme`. Hence we need to not
force backend names to be lowercase in IPython when passing them to
Matplotlib. It is just a one line change that happens to make the code
simpler, plus a new test.

The Matplotlib change will be released in 3.9.1 which is due shortly,
possibly today. The new test checks the Matplotlib version to know
whether uppercase backend module names are allowed or not.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Bug]: Backend name specified as module gets lowercased since 3.9
4 participants