8000 [MNT]: Improve backend selection API · Issue #26406 · matplotlib/matplotlib · GitHub
[go: up one dir, main page]

Skip to content
[MNT]: Improve backend selection API #26406
Open
@timhoffm

Description

@timhoffm

Summary

We currently have:

  • matplotlib.use
  • matplotlib.get_backend
  • pyplot.switch_backend

Issues:

  • The name matplotlib.use is really obscure.
  • The difference between switch_backend and use is not quite clear.

Proposed fix

  • Consider renaming matplotlib.use (and either discourace or long-term deprecate use (with a pending deprecation)).
  • Check whether use and switch_backend can be unified. If not, at least improve the documentation.

Side note: The force parameter in use can be dropped.

matplotlib.use(..., force=True)

is equivalent to

try:
    matplotlib.use(...)
except ImportError:
    pass

It should be rare that users want to ignore that changing the backend fails. And if so, they can do it explicitly. We do not need to provide API for that. The only slight complication is that this the default behavior is force=True; i.e. dropping would change the default behavor. But we can address that in the course of "renaming": We simply provide a new function, e.g. set_backend with the new behavior.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0