@@ -13,48 +13,47 @@ class BackendRegistry:
13
13
14
14
This is the single source of truth for available backends.
15
15
"""
16
- def __init__ (self ):
17
- # Built-in backends are those which are included in the Matplotlib repo.
18
- # A backend with name 'name' is located in the module
19
- # f'matplotlib.backends.backend_{name.lower()}'
20
-
21
- # The capitalized forms are needed for ipython at present; this may
22
- # change for later versions.
23
- self ._builtin_interactive = [
24
- "GTK3Agg" , "GTK3Cairo" , "GTK4Agg" , "GTK4Cairo" ,
25
- "MacOSX" ,
26
- "nbAgg" ,
27
- "QtAgg" , "QtCairo" , "Qt5Agg" , "Qt5Cairo" ,
28
- "TkAgg" , "TkCairo" ,
29
- "WebAgg" ,
30
- "WX" , "WXAgg" , "WXCairo" ,
31
- ]
32
- self ._builtin_not_interactive = [
33
- "agg" , "cairo" , "pdf" , "pgf" , "ps" , "svg" , "template" ,
34
- ]
35
- self ._framework_to_backend_mapping = {
36
- "qt" : "qtagg" ,
37
- "gtk3" : "gtk3agg" ,
38
- "gtk4" : "gtk4agg" ,
39
- "wx" : "wxagg" ,
40
- "tk" : "tkagg" ,
41
- "macosx" : "macosx" ,
42
- "headless" : "agg" ,
43
- }
16
+ # Built-in backends are those which are included in the Matplotlib repo.
17
+ # A backend with name 'name' is located in the module
18
+ # f'matplotlib.backends.backend_{name.lower()}'
19
+
20
+ # The capitalized forms are needed for ipython at present; this may
21
+ # change for later versions.
22
+ _BUILTIN_INTERACTIVE = [
23
+ "GTK3Agg" , "GTK3Cairo" , "GTK4Agg" , "GTK4Cairo" ,
24
+ "MacOSX" ,
25
+ "nbAgg" ,
26
+ "QtAgg" , "QtCairo" , "Qt5Agg" , "Qt5Cairo" ,
27
+ "TkAgg" , "TkCairo" ,
28
+ "WebAgg" ,
29
+ "WX" , "WXAgg" , "WXCairo" ,
30
+ ]
31
+ _BUILTIN_NOT_INTERACTIVE = [
32
+ "agg" , "cairo" , "pdf" , "pgf" , "ps" , "svg" , "template" ,
33
+ ]
34
+ _FRAMEWORK_TO_BACKEND_MAPPING = {
35
+ "qt" : "qtagg" ,
36
+ "gtk3" : "gtk3agg" ,
37
+ "gtk4" : "gtk4agg" ,
38
+ "wx" : "wxagg" ,
39
+ "tk" : "tkagg" ,
40
+ "macosx" : "macosx" ,
41
+ "headless" : "agg" ,
42
+ }
44
43
45
44
def framework_to_backend (self , interactive_framework ):
46
- return self ._framework_to_backend_mapping .get (interactive_framework )
45
+ return self ._FRAMEWORK_TO_BACKEND_MAPPING .get (interactive_framework )
47
46
48
47
def list_builtin (self , filter_ = None ):
49
48
if filter_ == BackendFilter .INTERACTIVE :
50
- return self ._builtin_interactive
49
+ return self ._BUILTIN_INTERACTIVE
51
50
elif filter_ == BackendFilter .INTERACTIVE_NON_WEB :
52
51
return list (filter (lambda x : x .lower () not in ("webagg" , "nbagg" ),
53
- self ._builtin_interactive ))
52
+ self ._BUILTIN_INTERACTIVE ))
54
53
elif filter_ == BackendFilter .NON_INTERACTIVE :
55
- return self ._builtin_not_interactive
54
+ return self ._BUILTIN_NOT_INTERACTIVE
56
55
57
- return self ._builtin_interactive + self ._builtin_not_interactive
56
+ return self ._BUILTIN_INTERACTIVE + self ._BUILTIN_NOT_INTERACTIVE
58
57
59
58
60
59
# Singleton
0 commit comments