Skip to content

Commit c22bb88

Browse files
committed
added hardcoded colormap attributes for type checker support (issue: #30438)
1 parent e775274 commit c22bb88

File tree

2 files changed

+214
-0
lines changed

2 files changed

+214
-0
lines changed

lib/matplotlib/cm.pyi

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,3 +20,185 @@ _multivar_colormaps: ColormapRegistry = ...
2020
_bivar_colormaps: ColormapRegistry = ...
2121

2222
ScalarMappable = _ScalarMappable
23+
24+
magma: colors.Colormap
25+
inferno: colors.Colormap
26+
plasma: colors.Colormap
27+
viridis: colors.Colormap
28+
cividis: colors.Colormap
29+
twilight: colors.Colormap
30+
twilight_shifted: colors.Colormap
31+
turbo: colors.Colormap
32+
berlin: colors.Colormap
33+
managua: colors.Colormap
34+
vanimo: colors.Colormap
35+
Blues: colors.Colormap
36+
BrBG: colors.Colormap
37+
BuGn: colors.Colormap
38+
BuPu: colors.Colormap
39+
CMRmap: colors.Colormap
40+
GnBu: colors.Colormap
41+
Greens: colors.Colormap
42+
Greys: colors.Colormap
43+
OrRd: colors.Colormap
44+
Oranges: colors.Colormap
45+
PRGn: colors.Colormap
46+
PiYG: colors.Colormap
47+
PuBu: colors.Colormap
48+
PuBuGn: colors.Colormap
49+
PuOr: colors.Colormap
50+
PuRd: colors.Colormap
51+
Purples: colors.Colormap
52+
RdBu: colors.Colormap
53+
RdGy: colors.Colormap
54+
RdPu: colors.Colormap
55+
RdYlBu: colors.Colormap
56+
RdYlGn: colors.Colormap
57+
Reds: colors.Colormap
58+
Spectral: colors.Colormap
59+
Wistia: colors.Colormap
60+
YlGn: colors.Colormap
61+
YlGnBu: colors.Colormap
62+
YlOrBr: colors.Colormap
63+
YlOrRd: colors.Colormap
64+
afmhot: colors.Colormap
65+
autumn: colors.Colormap
66+
binary: colors.Colormap
67+
bone: colors.Colormap
68+
brg: colors.Colormap
69+
bwr: colors.Colormap
70+
cool: colors.Colormap
71+
coolwarm: colors.Colormap
72+
copper: colors.Colormap
73+
cubehelix: colors.Colormap
74+
flag: colors.Colormap
75+
gist_earth: colors.Colormap
76+
gist_gray: colors.Colormap
77+
gist_heat: colors.Colormap
78+
gist_ncar: colors.Colormap
79+
gist_rainbow: colors.Colormap
80+
gist_stern: colors.Colormap
81+
gist_yarg: colors.Colormap
82+
gnuplot: colors.Colormap
83+
gnuplot2: colors.Colormap
84+
gray: colors.Colormap
85+
hot: colors.Colormap
86+
hsv: colors.Colormap
87+
jet: colors.Colormap
88+
nipy_spectral: colors.Colormap
89+
ocean: colors.Colormap
90+
pink: colors.Colormap
91+
prism: colors.Colormap
92+
rainbow: colors.Colormap
93+
seismic: colors.Colormap
94+
spring: colors.Colormap
95+
summer: colors.Colormap
96+
terrain: colors.Colormap
97+
winter: colors.Colormap
98+
Accent: colors.Colormap
99+
Dark2: colors.Colormap
100+
Paired: colors.Colormap
101+
Pastel1: colors.Colormap
102+
Pastel2: colors.Colormap
103+
Set1: colors.Colormap
104+
Set2: colors.Colormap
105+
Set3: colors.Colormap
106+
tab10: colors.Colormap
107+
tab20: colors.Colormap
108+
tab20b: colors.Colormap
109+
tab20c: colors.Colormap
110+
grey: colors.Colormap
111+
gist_grey: colors.Colormap
112+
gist_yerg: colors.Colormap
113+
Grays: colors.Colormap
114+
# Reversed colormaps
115+
magma_r: colors.Colormap
116+
inferno_r: colors.Colormap
117+
plasma_r: colors.Colormap
118+
viridis_r: colors.Colormap
119+
cividis_r: colors.Colormap
120+
twilight_r: colors.Colormap
121+
twilight_shifted_r: colors.Colormap
122+
turbo_r: colors.Colormap
123+
berlin_r: colors.Colormap
124+
managua_r: colors.Colormap
125+
vanimo_r: colors.Colormap
126+
Blues_r: colors.Colormap
127+
BrBG_r: colors.Colormap
128+
BuGn_r: colors.Colormap
129+
BuPu_r: colors.Colormap
130+
CMRmap_r: colors.Colormap
131+
GnBu_r: colors.Colormap
132+
Greens_r: colors.Colormap
133+
Greys_r: colors.Colormap
134+
OrRd_r: colors.Colormap
135+
Oranges_r: colors.Colormap
136+
PRGn_r: colors.Colormap
137+
PiYG_r: colors.Colormap
138+
PuBu_r: colors.Colormap
139+
PuBuGn_r: colors.Colormap
140+
PuOr_r: colors.Colormap
141+
PuRd_r: colors.Colormap
142+
Purples_r: colors.Colormap
143+
RdBu_r: colors.Colormap
144+
RdGy_r: colors.Colormap
145+
RdPu_r: colors.Colormap
146+
RdYlBu_r: colors.Colormap
147+
RdYlGn_r: colors.Colormap
148+
Reds_r: colors.Colormap
149+
Spectral_r: colors.Colormap
150+
Wistia_r: colors.Colormap
151+
YlGn_r: colors.Colormap
152+
YlGnBu_r: colors.Colormap
153+
YlOrBr_r: colors.Colormap
154+
YlOrRd_r: colors.Colormap
155+
afmhot_r: colors.Colormap
156+
autumn_r: colors.Colormap
157+
binary_r: colors.Colormap
158+
bone_r: colors.Colormap
159+
brg_r: colors.Colormap
160+
bwr_r: colors.Colormap
161+
cool_r: colors.Colormap
162+
coolwarm_r: colors.Colormap
163+
copper_r: colors.Colormap
164+
cubehelix_r: colors.Colormap
165+
flag_r: colors.Colormap
166+
gist_earth_r: colors.Colormap
167+
gist_gray_r: colors.Colormap
168+
gist_heat_r: colors.Colormap
169+
gist_ncar_r: colors.Colormap
170+
gist_rainbow_r: colors.Colormap
171+
gist_stern_r: colors.Colormap
172+
gist_yarg_r: colors.Colormap
173+
gnuplot_r: colors.Colormap
174+
gnuplot2_r: colors.Colormap
175+
gray_r: colors.Colormap
176+
hot_r: colors.Colormap
177+
hsv_r: colors.Colormap
178+
jet_r: colors.Colormap
179+
nipy_spectral_r: colors.Colormap
180+
ocean_r: colors.Colormap
181+
pink_r: colors.Colormap
182+
prism_r: colors.Colormap
183+
rainbow_r: colors.Colormap
184+
seismic_r: colors.Colormap
185+
spring_r: colors.Colormap
186+
summer_r: colors.Colormap
187+
terrain_r: colors.Colormap
188+
winter_r: colors.Colormap
189+
Accent_r: colors.Colormap
190+
Dark2_r: colors.Colormap
191+
Paired_r: colors.Colormap
192+
Pastel1_r: colors.Colormap
193+
Pastel2_r: colors.Colormap
194+
Set1_r: colors.Colormap
195+
Set2_r: colors.Colormap
196+
Set3_r: colors.Colormap
197+
tab10_r: colors.Colormap
198+
tab20_r: colors.Colormap
199+
tab20b_r: colors.Colormap
200+
tab20c_r: colors.Colormap
201+
grey_r: colors.Colormap
202+
gist_grey_r: colors.Colormap
203+
gist_yerg_r: colors.Colormap
204+
Grays_r: colors.Colormap

lib/matplotlib/tests/test_cm_stubs.py

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import re
2+
from pathlib import Path
3+
4+
import matplotlib.pyplot as plt
5+
from matplotlib.colors import Colormap
6+
7+
8+
def test_cm_stub_matches_runtime_colormaps():
9+
runtime_cm = plt.cm
10+
runtime_cmaps = {
11+
name
12+
for name, value in vars(runtime_cm).items()
13+
if isinstance(value, Colormap)
14+
}
15+
16+
cm_pyi_path = Path(__file__).parent.parent / "cm.pyi"
17+
assert cm_pyi_path.exists(), f"{cm_pyi_path} does not exist"
18+
19+
pyi_content = cm_pyi_path.read_text(encoding='utf-8')
20+
21+
stubbed_cmaps = set(
22+
re.findall(r"^(\w+):\s+colors\.Colormap", pyi_content, re.MULTILINE)
23+
)
24+
25+
assert runtime_cmaps, (
26+
"No colormaps variables found at runtime in matplotlib.colors"
27+
)
28+
assert stubbed_cmaps, (
29+
"No colormaps found in cm.pyi"
30+
)
31+
32+
assert runtime_cmaps == stubbed_cmaps

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy