Title: Plugin system for backends by martinRenou · Pull Request #19482 · matplotlib/matplotlib · GitHub
Open Graph Title: Plugin system for backends by martinRenou · Pull Request #19482 · matplotlib/matplotlib
X Title: Plugin system for backends by martinRenou · Pull Request #19482 · matplotlib/matplotlib
Description: PR Summary This PR adds a plugin system for backends. Now backends need to install a manifest under $PREFIX/share/matplotlib/backends containing the name of the backend and the Python module containing this backend: { "name": "MyCustomBackend", "module": "my-python-module-containing-the-backend" } This will make it easier to create custom backends, by simply installing the right file in the right place for Matplotlib to discover. I am opening this PR for heads-up and for starting discussions, I might still change the implementation. Note 1: This breaks the inline and the ipympl backend in IPython, because they currently do not install the files. Note 2: This could be the opportunity to take some core backends out of the Matplotlib code base, in their own packages? PR Checklist Has pytest style unit tests (and pytest passes). Is Flake 8 compliant (run flake8 on changed files to check). New features are documented, with examples if plot related. Documentation is sphinx and numpydoc compliant (the docs should build without error). Conforms to Matplotlib style conventions (install flake8-docstrings and run flake8 --docstring-convention=all). New features have an entry in doc/users/next_whats_new/ (follow instructions in README.rst there). API changes documented in doc/api/next_api_changes/ (follow instructions in README.rst there).
Open Graph Description: PR Summary This PR adds a plugin system for backends. Now backends need to install a manifest under $PREFIX/share/matplotlib/backends containing the name of the backend and the Python module contai...
X Description: PR Summary This PR adds a plugin system for backends. Now backends need to install a manifest under $PREFIX/share/matplotlib/backends containing the name of the backend and the Python module contai...
Opengraph URL: https://github.com/matplotlib/matplotlib/pull/19482
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:20a8f139-6622-5bb5-4686-51773001b380 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | C51C:2D56E3:1005DAF:157ED52:6A533A0C |
| html-safe-nonce | 48429ab3f2d2bd7dde2087163b110fb8f6bc7a3d69a14ec0dfb97fe5ea6c8fe2 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNTFDOjJENTZFMzoxMDA1REFGOjE1N0VENTI6NkE1MzNBMEMiLCJ2aXNpdG9yX2lkIjoiMTIzNzI2NzM2NjkzNDY5MDMxNiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | f05dec24e3b744d0313b20365b00ee1c8e6566cc2622fda6c9ac73fb01db7eed |
| hovercard-subject-tag | pull_request:569639702 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/matplotlib/matplotlib/pull/19482/files |
| twitter:image | https://avatars.githubusercontent.com/u/21197331?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/21197331?s=400&v=4 |
| og:image:alt | PR Summary This PR adds a plugin system for backends. Now backends need to install a manifest under $PREFIX/share/matplotlib/backends containing the name of the backend and the Python module contai... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git |
| octolytics-dimension-user_id | 215947 |
| octolytics-dimension-user_login | matplotlib |
| octolytics-dimension-repository_id | 1385122 |
| octolytics-dimension-repository_nwo | matplotlib/matplotlib |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1385122 |
| octolytics-dimension-repository_network_root_nwo | matplotlib/matplotlib |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 07a982c1d40157c619b364352b704c3ce66bb332 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width